
vypsání datového typu double v binárním tvaru
zdravím, chtěl bych se zeptat, jestli je nějaká funkce - nebo jak lze vypsat číslo např. -5.128 v binárním tvaru - 64bitů. Děkuju
zdravím, chtěl bych se zeptat, jestli je nějaká funkce - nebo jak lze vypsat číslo např. -5.128 v binárním tvaru - 64bitů. Děkuju
Předmět | Autor | Datum |
---|---|---|
urobis si na to pointer a pretypujes ho na pointer typu char a mozes si s tym robit co chces tak ako… MM.. 18.05.2011 18:18 |
MM.. | |
#include <stdio.h> int main(void) { double a; a = -5.128; printf("%.3f\n",a); double *p; p = &a; cha… inžinýr 18.05.2011 18:35 |
inžinýr | |
int main(void) { double a; a = -5.128; printf("%.3f\n",a); printf("%08X", ((char*)(&a))+4 ); // high… MM.. 18.05.2011 18:57 |
MM.. | |
fajn, ale v hex to podle direktivy umím vypsat taky... no to je mi jasný, že printf neumí vypisovat… inžinýr 18.05.2011 19:07 |
inžinýr | |
vypisanie char ch v binarnom tvare:
for(i=0;i<8;i++,ch<<1) if(ch&0x80) printf("1"); else printf("0"… nový MM.. 18.05.2011 19:12 |
MM.. | |
vysvětlíš mi prosím tohle?
if(ch&0x80) nový inžinýr 18.05.2011 19:18 |
inžinýr | |
http://en.wikipedia.org/wiki/Operators_in_C_and_C% 2B%2B
http://en.wikipedia.org/wiki/Bitwise_opera… nový MM.. 18.05.2011 19:33 |
MM.. | |
inac je to stejne ako:
if(ch & 0b10000000)
ked to takto pochopis lepsie poslední MM.. 18.05.2011 19:36 |
MM.. |
Zpět do poradny Odpovědět na původní otázku Nahoru
urobis si na to pointer a pretypujes ho na pointer typu char a mozes si s tym robit co chces tak akokeby to bol char (bude tam tych char-ov 8 po sebe).
P.S. este by som upozornil ze pravdepodobne bude najvyznamnejsi byte az na konci, lebo intel uklada bajty do pamate naopak (to si potom otestuj s viacerymi hodnotami a porovnaj ci si ziskal spravnu hodnotu podla IEEE spoecifikacie pre double)
takhle nějak? ale nevím, jak to dodělat... respektive jak to vypsat
toto je hex. Ked chces binarne tak to asi budes musiet robit cyklom a testovat kazdy bit. printf nevie vypisovat binarne.
fajn, ale v hex to podle direktivy umím vypsat taky... no to je mi jasný, že printf neumí vypisovat binárně...
vypisanie char ch v binarnom tvare:
ked chces 64bit tak to cele urobis 8x
vysvětlíš mi prosím tohle?
http://en.wikipedia.org/wiki/Operators_in_C_and_C% 2B%2B
http://en.wikipedia.org/wiki/Bitwise_operation#AND
Stejnym sposobom najdes vysvetlenie "ch<<1", aby si sa nemusel pytat aj na to extra :)
inac je to stejne ako:
ked to takto pochopis lepsie