Konvertierung dezimal->binär
-
Hallo Welt
Weil Zahlen im Computer ja binär dargestellt werden, habe ich mal eine Funktion geschrieben, die beliebige Zahlen in binär umrechnet, so dass man jetzt statt
int x = 10;
das Folgende schreiben kann:
int x = tobinary(10);
Es soll u.a. helfen, die Compilezeit zu verkürzen, weil der Compiler die Zahl nicht selbst umwandeln muss.
hier die entsprechende Funktion:
// converts a decimal number to a binary number template<typename type> type tobinary(type number) { // stores result type binary_result = 0; // digit that is processed type digit_base = 1; while(number) { // get decimal digit int digit = number % 10; number /= 10; // read bits 0 bis 3 with values 1, 2, 4, 8 for(int i = 0; i < 4; ++i) { // add 1, 2, 4, 8 digits to the binary result if(digit & (1 << i)) binary_result += digit_base * (1 << i); } // next decimal digit digit_base *= 10; } return binary_result; }
Mit negativen Zahlen kommt sie vermutlich noch nicht klar, ich habe sie erstmal für positive Zahlen geschrieben und möchte mal wissen, was ihr davon haltet ^^
-
Toll - willkommen im April.
-
Bergren schrieb:
Es soll u.a. helfen, die Compilezeit zu verkürzen, weil der Compiler die Zahl nicht selbst umwandeln muss.
Ein template benutzen um die Compilezeit zu verkürzen. *LOL* tolle Idee
-
Wow wie toll. Wie wars wenn du anwendungen scgreibst in die du auch deine einganen binär machen must? Das spart noch mehr rechenzeit!!!!!!
Schon mal gefragt was der Compiler mit der 10 macht die du deiner funktion übergibst?
Ich weiss ja net ob das ein Witzt sein soll aber wenn nicht solltest du mal dein grundlegendes Wissen mal ein wenig auffrischen.
-
Ich weiss ja net ob das ein Witzt sein soll
Es war tatsächlich, wie nman schon vermutetete ein Aprilscherz, und zwar ein schlechter.
-
Wust ichs doch