dettus
Bicycle User
hi.
weiss irgendwer, wie ich es schaffe mit printf 64-bitzahlen vernuenftig auszugeben? und mit denen auch anstaendig zu rechnen?
mein erstes gebastel in dieser richtung sah naemlich so aus:
das hat mich persoenlich etwas entmutigt: die operation l&m, die eigentlich die untersten 32 bit aus der zahl schneiden sollte, scheint nicht ganz das zu tun, was sie sollte.... (das korrekte ergebnis waere 76543210...)
wie sieht das dann erst fuer additionen und multiplikationen aus?
ach ja, mein betriebssystem auf der kiste ist openbsd 3.5.
weiss irgendwer, wie ich es schaffe mit printf 64-bitzahlen vernuenftig auszugeben? und mit denen auch anstaendig zu rechnen?
mein erstes gebastel in dieser richtung sah naemlich so aus:
Code:
dettus@h9291:[~/prog/c]cat test.c
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int64_t l=0xFEDCBA9876543210;
int64_t m=0x00000000FFFFFFFF;
printf("%x:%x %x\n",l>>32,(l&m),l);
return 0;
}
dettus@h9291:[~/prog/c]gcc -o test test.c
dettus@h9291:[~/prog/c]./test
fedcba98:ffffffff 76543210
das hat mich persoenlich etwas entmutigt: die operation l&m, die eigentlich die untersten 32 bit aus der zahl schneiden sollte, scheint nicht ganz das zu tun, was sie sollte.... (das korrekte ergebnis waere 76543210...)
wie sieht das dann erst fuer additionen und multiplikationen aus?
ach ja, mein betriebssystem auf der kiste ist openbsd 3.5.