Bahtiar Pakpahan wrote:
> Rekans, saya ada kesulitan konversi hex ke desimal untuk 9 digit:
> kalau 8 digit oke :
> 
> $> printf "%u" 0x1011f5b9
> 269612473
> 
> $>printf "%u" 0x10011f5b9
> printf: "0x00010011f5b9" arithmetic overflow
> 
> padahal kalau pake kalkulator bis keluar.
> coba pake bahasa c hasilnya juga sama.

Karena default datatype di C adalang int, yang machine
dependent, dalam hal ini untuk CPU 32bit sizeof (int) = 4 bytes
x [1 byte = 8 bits (binary) = 2 digit hex] = 8 digit hex
maximum (unsigned). 0x0 - 0xffffffff.

Kalau mau lebih gede pakai "long long", sizeof (long long) = 8b

printf '%llu\n' [0x0 - 0xffffffffffffffff]

-- 
+-R-| Mozilla 1.1! Gecko/200208 |-H-| Powered by Linux 2.4.x |-7-+
|/v\ Agus Budy Wuysang                   MIS Department          |
| |  Phone:  +62-21-344-1316 ext 317     GSM: +62-816-1972-051   |
+------------| http://www.fasw.co.id/person/supes/ |-------------+


-- 
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Dapatkan FAQ milis dg mengirim email kosong ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3

Kirim email ke