Kenapa harus ada hex, octa dan binary? Dalam kehidupan nyata kita menggunakan base-10 dimana pengulangan angka setiap 10 angka, dan ketika masuk kedalam komputer para programer memdapatkan kenyamanan dengan menggunakan type number tersebut, memudahkan pemetaan ke bytes dan bit.
Hexadecimal merupakan base-16 mulai dari angka 0 sampai hurup f (0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f). Penulisannya mulai dari 0(nol) + x (hurup 'x') dan kemudian angka hexa-nya.
- >>> 0x00 # nol - x -nol - nol
- 0
- >>> 0xff # nol - x - f - f
- 255
- >>> 0xfff
- 4095
- >>> 0x12c56f
- 1230191
- >>>
- >>> 0x00,0x99,0xaa,0x19af
- (0, 153, 170, 6575)
- >>>
- >>> 0xffff,0xffffffffff
- (65535, 1099511627775)
- >>>
Octadecimal merupakan base-8, mulai dari angka 0 sampai 7 ( 0,1,2,3,4,5,6,7 ). Penulisannya mulai dari 0(nol) + o (hurup 'o') dan kemudian angka octa-nya.
- >>> 0o00 # nol - hurup 'o' - nol - nol
- 0
- >>> 0o77 # nol - hurup 'o' -tujuh - tujuh
- 63
- >>> 0o7777
- 4095
- >>> 0o77777777
- 16777215
- >>>
Binary merupakan base-2, yaitu 0 ( nol ) dan 1 (satu). Penulisannya mulai dari 0(nol) + b (hurup 'b') dan kemudian angka binier-nya.
- >>> 0b0 # nol - hurup 'b' - nol
- 0
- >>> 0b000000000000000 # nol - hurup 'b' - nol semua
- 0
- >>> 0b1 # nol - hurup'b' - satu
- 1
- >>> 0b1111 # nol - hurup'b' -satu semua
- 15
- >>> 0b11111111
- 255
- >>> 0b1010101010111100100101
- 2797349
- >>>
Sekarang kita lihat untuk angka 255 (dua ratus lima puluh lima) pada ketiga type tersebut (siapa tahu membunyikan bell di kepala). Dan harus selalu ingat, angka pertama itu bukan angka 1 (satu), melainkan 0 (nol)
- >>> 0xff
- 255
- >>> oct(255)
- '0o377'
- >>> bin(255)
- '0b11111111'
- >>>
- >>> hex(64), oct(64), bin(64)
- ('0x40', '0o100', '0b1000000')
- >>>
- >>> hex(128), oct(128), bin(128)
- ('0x80', '0o200', '0b10000000')
- >>>
- >>> hex(512), oct(512), bin(512)
- ('0x200', '0o1000', '0b1000000000')
- >>>
Dengan menggunakan fungsi 'int' bisa mengkonversikan sebuah string angka menjadi integer.
- >>> int('255')
- 255
- >>>
int('255') merupakan konversi dari sebuah string '255' menjadi integer (tidak ada yang aneh bukan?) sehingga :
- >>> int('255',16)
- 597
- >>>
(DUAR!) Maksud diatas adalah sebuah string '255' dengan base-16, kemudian dijadikan integer.
- >>> hex(597)
- '0x255'
- >>> int(0x255)
- 597
- >>>
- >>> oct(1000)
- '0o1750'
- >>> int(0o1750)
- 1000
- >>> int('1750',8)
- 1000
- >>>
- >>> int('ff',16)
- 255
- >>>
Ada lagi fungsi yang sangat menarik yaitu 'eval ' . Fungsi ini cukup berbahaya, walaupun sedikit lebih pelan bekerjanya, fungsi ini meng-complie dan menjalankan sebuah string menjadi sebuah program, belum sampai disitu, program tersebut diasumsikan bekerja dengan sumber yang terpercaya, jadi hati-hati dengan fungsi ini.
- >>> eval('1028')
- 1028
- >>> eval('0xffffff')
- 16777215
- >>> eval('0o7777')
- 4095
- >>> eval('0b11111111')
- 255
- >>>
No comments:
Post a Comment