Notasi kanggo nomer binar kaya 1000100B - 1

"Halo, Amigo!"

"Hai, Bilaabo!"

"Aku pengin ngomong sethithik babagan sistem penomoran sing beda."

"Sampeyan wis krungu yen wong nggunakake sistem desimal. Mangkene fakta utama sistem iki:

1)  10 digit digunakake kanggo nulis angka: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

2)  Angka 543 tegese 5 atus + 4 dasa + 3 siji.

"Iki padha karo nulis 5*100 + 4*10 + 3*1, sing bisa ditulis minangka 5*10 2 + 4*10 1 + 3*10 0 .

Elinga yen ewu, atusan, puluhan lan siji minangka kekuwatan nomer 10.

1) Salah 10 kanggo daya zeroth.

2)  Sepuluh iku 10 kanggo daya pisanan.

3) Satus iku 10 kanggo daya kapindho.

4)  Sewu iku 10 ing daya katelu, lsp.

"Iya. Ngerti."

"Nanging saiki bayangake yen kita mung duwe 8 digit. Banjur kita duwe sistem oktal. Iki minangka fakta utama: "

1)  8 digit digunakake kanggo nulis angka: 0, 1, 2, 3, 4, 5, 6, 7.

2)  Angka 543 8 tegese 5*8 2 +4*8 1 +3*8 0 . Ing tembung liyane, iku 5*64 + 4*8 + 3*1 = 320+32+3 = 320+32+3=355 10

Aku nulis 8 lan 10 minangka subskrip kanggo nuduhake jumlah digit sing digunakake kanggo makili nomer kasebut.

"Aku rumangsa entuk. Aku rumangsa bisa ngonversi nomer saka sistem oktal dadi desimal.

"Ora angel. Bayangna sampeyan kudu nggunakake sawetara truk kanggo mindhah tumpukan pasir. Sampeyan duwe dump truck, truk biasa, lan truk cilik banget. Nanging truk ora bisa mlaku yen ora kebak."

"Kadospundi sampeyan badhe nindakaken?"

"Kaping pisanan, aku bakal ngisi dump truck, amarga sing paling gedhe. Banjur, yen aku weruh ora cukup pasir kanggo ngisi truk, aku bakal ngalih menyang kendaraan sing luwih cilik. Banjur sing luwih cilik."

"Satemene padha banget ing kene. Ayo coba ngowahi angka 355 10 dadi oktal."

"Kaping pisanan, kita dibagi karo 64 (8 2 ) lan entuk 5 kanthi sisa 35. Iki tegese digit pisanan saka nomer kita yaiku 5. Banjur kita dibagi karo 8 (8 1 ) lan entuk 4 kanthi sisa. saka 3. Dadi, kita entuk nomer 543 8 ."

"Oalah, sampeyan uga bisa pindhah menyang arah liyane. Sawise kabeh, 543 8 == 5*64+4*8+3 == ((5)*8+4)*8+3. Kita oktal "puluhan " lan " atus " kudu dibagi 8. Mula, sisa divisi kanthi 8 bakal dadi digit octal kita."

Pisanan, ayo dibagi 355 karo 8. Kita entuk 44 kanthi sisa 3. Yaiku, 355 = 44 * 8 + 3. Lan 44 bisa dituduhake minangka 5 * 8 + 4. Dadi, 355 = (5 * 8+). 4)*8+3; Iki digit kita: 5, 4, 3. Angka sing digoleki yaiku 543 8 ."

"Aku rumangsa ngerti, nanging aku kudu latihan sethithik kanggo ngerti kabeh."

"Pemrograman asring nggunakake angka kanthi basis sing beda-beda (yaiku jumlah digit sing digunakake ing sistem penomoran). Sing paling populer yaiku 2, 8, 10, 16, lan 64."

"Nanging kenapa iki perlu? Kenapa kita butuh angka sing diwakili 2, 8, 16, utawa 64 digit?"

"Iku bab carane prosesor bisa internal. Banget simplistically, yen saiki mili liwat kabel, banjur kita ngomong sing Nilai iku 1; yen ora ana saiki, banjur Nilai 0. Kabeh nomer disimpen ing sel memori. sel duwe desain dhasar banget. Lan mung bisa nyimpen 0 utawa 1."

"Nanging simplification kuwi (mung 0 utawa 1) digawe iku bisa kanggo nggawe unsur nang prosesor lan memori cilik banget. Prosesor modern lan modul memori kalebu milyar unsur beda. Lan wilayah sing asring ora luwih saka centimeter kothak ".

"Wah. Saiki aku ngerti."

"Saiki kita nguripake kanggo nomer binar. Ing kene kita duwe bab sing padha karo octal, mung luwih gampang."

1)  2 digit digunakake kanggo nulis angka: 0, 1.

2)  Angka 101 2 tegese 1*2 2 + 0*2 1 + 1*2 0 . Ing tembung liyane, iku 1*4+0*2+1*1 =4+1=51 10

"Ya, aku elinga. Siji sel, sing bisa duwe nilai 0 utawa 1, diarani rada. Nanging ora bisa nyimpen informasi akeh banget, mula digabungake dadi klompok 8. Kelompok kasebut diarani bita. "

"Persis. A byte minangka klompok wolung bit. Bisa nyimpen nilai ing ngisor iki: 00000000, 00000001, ... 11111111. Nilai kasebut cocog karo angka desimal 0,1, ... 255. Sing menehi kita total 256 nilai."

Apa integer paling gedhe ing Jawa? Utawa luwih apa jinis sawijining?

"A long. A long kasusun saka 8 bait. Ing tembung liyane, 64 bit. Bisa nyimpen nilai saka -2 63 nganti 2 63 -1.

"Ya, aku ora bakal ndemek babagan carane ngowahi angka saka desimal menyang biner utawa kosok balene. Yen ora, pelajaran bakal suwe banget."

"Nanging, ayo ngomong luwih akeh babagan sistem heksadesimal."

"Ya, menarik banget. Kanggo sistem biner lan oktal, kita mung nyisihake digit, diwiwiti kanthi loro lan wolung. Nanging apa sing kudu ditindakake ing kene? Tambah digit anyar?"

"Persis! Deleng iki:"

1) 16 digit digunakake kanggo nulis angka: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

2) Angka 543 16 tegese 5*16 2 + 4*16 1 + 3*16 0 . Ing tembung liyane, iku 5*256+4*16+3*1 = 1280+64+3 = 1347 10

"Dadi, kita mung nambah huruf minangka digit? O_o"

"Yep. Lan apa masalah gedhe? Apa invent nomer anyar nalika aksara bisa sampurna uga? Priksa metu: "

Angka heksadesimal Nilai desimal
0 0
1 1
8 8
9 9
A 10
B 11
C 12
D 13
E 14
F 15

"Aku uga ora bakal ngomong babagan ngowahi saka desimal menyang heksadesimal. Nanging ana siji fakta sing menarik. Digit heksadesimal diwakili persis 4 bit, kanthi nilai saka 0 nganti 15. Dadi, siji bait bisa ditulis nganggo wolung digit biner. (0 utawa 1) utawa rong digit heksadesimal."

"Iki contone:"

Nomer desimal Angka binar Nomer heksadesimal
0 0000 0000 00
1 0000 0001 01
15 0000 1111 0f
16 0001 0000 10
31 0001 1111 1f
32 0010 0000 20
128 1000 0000 80
129 1000 0001 81
255 1111 1111 ff

"Representasi heksadesimal gampang diowahi dadi binar (lan kosok balene). Pramila perwakilan byte internal saka nomer arang banget diwenehi ing binar (nggunakake 0s lan 1s) ing pemrograman. Sing bakal dawa banget lan angel dingerteni. Notasi heksadesimal luwih gampang diwaca lan kompak."

"Aku setuju. Malah aku seneng."

"Oalah, Jawa ngidini sampeyan nulis nomer ing macem-macem sistem panomeran langsung ing kode:"

dhasar Fitur mbedakake Tuladha Nomer ora sah
2 0b  ing wiwitan angka 0b 00001111 0b 11111 2 1
8 0  ing wiwitan nomer 0 1234343 0 12 8
10 ora ana 95459 909 a
16 0x  ing wiwitan nomer 0x10f _ 0x1c gih _

"Pelajaran sing apik banget. Matur nuwun, Bilaabo."