C++: explode, split, tokenize

In PHP gibt es eine Funktion namens explode, die einen String anhand eines oder mehrerer Zeichen aufspaltet und als ein Array zurĂŒckgibt. Manchmal wird solch eine Funktion auch in C++ benötigt. Leider gibt es dafĂŒr keine native Implementierung. Es gibt zwar eine C-Funktion stdtok, aber die ist ziemlich unschön und gibt kein C++ Array zurĂŒck. Im Internet findet man viele brauchbare und wenig brauchbare Beispiele… Weiterlesen

Detektorradio bauen

Spule fĂŒr das Detektorradio

Das Detektorradio ist die einfachste Konstruktion eines RadioempfĂ€ngers. Dieser EmpfĂ€nger braucht keine externe Energiequelle und bezieht seine Energie direkt aus den elektromagnetischen Wellen. Von den Anfangszeiten des Radios bis kurz nach dem Ende des zweiten Weltkriegs waren diese EmpfĂ€nger sehr verbreitet. Der Schaltplan eines Detektorradios ist recht einfach und besteht nur aus folgenden Komponenten: Antenne, Erdung, Spule, Drehkondensator, Diode und Kopfhörer. Es hat mir schon… Weiterlesen

Quadratwurzel mit Bisektion berechnen

Bisektion-Verfahren. Das Intervall zwischen L und H in der Mitte teilen und testen ob der Wert m unter- oder ĂŒberschĂ€tzt wurde. Intervallgrenzen anpassen.

Im Folgenden werde ich zeigen, wie man relativ einfach die Umkehrfunktion einer monotonen Funktion berechnen kann. Als Beispiel nehme ich die Wurzelfunktion. Nehmen wir an, wie möchten die Wurzel von 10 berechnen. Wie geht man dabei vor? Wir kennen das Ergebnis nicht, aber wir können sagen in welchem Bereich es sich befindet. Der Betrag der Wurzel wird auf jeden Fall grĂ¶ĂŸer oder gleich der 0… Weiterlesen

String in Integer konvertieren (dezimal, binÀr, hexadezimal, oktal)

Wie man Strings in Zahlen und Zahlen in Strings in C++ konvertiert, habe ich bereits beschrieben. Jetzt möchte ich eine Lösung vorstellen, wie Strings in Integer ganz „per Hand“ umwandelt werden (Es war meine Hausaufgabenlösung in Informatik). Um einen String in einen Integer umzuwandeln, lohnt es sich das ASCII-System auszunutzen. Das Prinzip ist ziemlich einfach: Man nimmt das erste char-Zeichen (was nichts anderes als eine… Weiterlesen

Cache-Optimierung: Zeitliche und RÀumliche LokalitÀt

Cache-Hierarchie.

Wenn man schnelle Programme schreiben möchte, so muss man auch die Funktionsweise der Hardware beachten, wie ich im Folgenden zeige werde. Nehmen wir an, es muss ein zweidimensionales Array vollstĂ€ndig durchlaufen werden. Dieser Fall trifft beispielsweise oft auf, wenn man Bildmanipulationen durchfĂŒhrt. Dazu ein minimales Beispiel. Es wird ein zweidimensionales Integer-Array erstellt und auf zwei unterschiedliche Weisen durchlaufen. In jedem Durchgang wird ein Wert in… Weiterlesen

F-Praktikum Protokolle (TU Darmstadt, Physik)

Im Rahmen eines Physikstudiums muss man viele Experimente durchfĂŒhren. An der TU Darmstadt sind es 32 Grundpraktikumsversuche und 12 Praktika fĂŒr Fortgeschrittene. Im Gegensatz zum Grundpraktikum hat man beim F-Praktikum eine Auswahlmöglichkeit bei den Versuchsthemen, so dass man nur einen Teil des Angebots annehmen kann. FĂŒr diejenigen, die sich auch fĂŒr andere Versuche interessieren, habe ich hier eine Liste mit Versuchsausarbeitungen angelegt. SelbstverstĂ€ndlich sollten diese… Weiterlesen

Piwik: richtige Aufenthaltsdauer und Absprungrate anzeigen

Browservertelung 12/2011

Piwik zeigt die Aufenthaltsdauer von Besuchern nicht richtig an. Die Aufenthaltsdauer in Piwik entspricht der Zeitdifferenz zwischen der ersten und letzten Aktionen auf einer Website, wobei unter einer Aktion ein Klick auf einen Link bzw. das Neuladen der Website gemeint ist. Kommt ein Besucher auf die Website, liest 30 Minuten lang einen Artikel und schließt danach das Fenster, so erkennt Piwik nur eine Aktion und… Weiterlesen