eee, lygtai teisingai: http://babbage.cs.qc.cuny.edu/IEEE-754/index.xhtml rezultatai sutampa, tik is kito galo. -- Bye, Levas -- http://www.vabolis.lt "Levas" <kazkur@pasbobute.lt> wrote in message news:jh9gn2$ufg$1@trimpas.omnitel.net... > reikes isbandyti realiam pasaulyje sita metoda. Iki (unsigned char *)&x buvau dasikases, bet pasipyle visokie ispejimai is kompilerio puses. Buvau ir verte lygtai realia isgaves, bet paskiau kazkaip tu baitu verte pasidare nei i tvora nei i mieta. > > Su stumdymu nebbandziau, bet ten skaicius su kableliu ir nezinau ar nesukvailios programa. > > > Surasiau: > unsigned char *ptr=(void *) &x; > > double x=0.0000001; > itoa(ptr[0],buffer,16); > print_ser(buffer); > print_ser(" "); > > itoa(ptr[1],buffer,16); > print_ser(buffer); > print_ser(" "); > itoa(ptr[2],buffer,16); > print_ser(buffer); > print_ser(" "); > itoa(ptr[3],buffer,16); > print_ser(buffer); > print_ser(" "); > print_ser("\r\n"); > > Rezultatas: 95 bf d6 33 > > x=3.1415926 > da f 49 40 > > x=10.000000 > 0 0 20 41 > x=1.00 > 0 0 80 3f > x=0 > 0 0 0 0 > x=-1 > 0 0 80 bf > > > ? Ar tai teisinga? > > -- > Bye, Levas > -- > http://www.vabolis.lt > > > "Laimis" <wiela@centras.lt> wrote in message news:jh9ad6$nbh$1@trimpas.omnitel.net... >> Levas rašė: >> >>> Yra kintamasis double x Jis viduje atrodo kaip 4 baitai. >>> Kaip pamatyti tuos 4 baitus (ju turini). Tipo a[0]=maziausio baito >>> verte, a[1]=. Kad atspausdinti vidine struktura to skaiciaus. >> >> unsigned char *ba = (unsigned char *) &x; >> >> (ba[0], ... ba[3]) >> >> Arba >> >> union double_bytes { >> double d; >> char bytes[4]; >> } u_db; >> >> u_db.d = x; >> >> (u_db.bytes[1], ... u_db.bytes[4]) >> >> >> Galų gale, galima pasistumdyti pasiimant vieną baitą: >> unsigned char b1 = x >> 24 >> unsigned char b2 = x >> 16 >> unsigned char b3 = x >> 8 >> unsigned char b4 = x >> >> p.s. reikia supaisyti endian'iškumą.