Alexander (HH): 'Wenn die Minute 64 Sekunden hätte...

Beitrag lesen

Moin Moin!

... und die Stunde 64 Minuten, ja dann könnte ich ja eine Zeitangabe like
23:59:59 wie folgt in einen numerischen Wert umrechnen:

printf("%d\n", (23 << 12) + (59 << 6) + 59); # Bitweise

Exakt identisch zu 23 * 2^12 + 59 * 2^6 + 59
also               23 * 4096 + 59 * 64 + 59

zum Vergleich, herkömmlich:
printf("%d\n", (23*64*64) + 59*64 + 59); # 98043

Abstrakt:
64^2   64^1   64^0

Hä?

Möchtest Du in Base64 rechnen?

Nu hat dummerweise aber eine Minute 60 Sekunden und eine Stunde 60 Minuten und der Tag endet mit 86399 Sekunden. Hmm. Ich will das aber _bitweise_ berechnen und brauch da mal einen Denkanstoß. Brauch ich da ne Maske oder so?

Du brauchst mal etwas Bettruhe, Du denkst wirr.

Möchtest Du in BCD statt in binär rechnen? Warum willst Du auf Krampf mit Bitoperatoren arbeiten? Kann Dein Zielsysten nicht multiplizieren?

Mal so am Rande: Nicht jede Minute hat 60 Sekunden.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".