Mfumo wa nafasi ni nini
Katika nambari ya decimal 4,095 tarakimu 4 haina thamani ya 4: ina thamani ya 4,000, kwa sababu iko kwenye nafasi ya maelfu. Kila nafasi huzidisha tarakimu kwa nguvu ya 10 (1, 10, 100, 1,000…). Huo ndio mfumo wa nafasi, na msingi ni idadi ya tarakimu tofauti zinazotumika: kumi katika decimal.
Binary hufanya kazi vivyo hivyo, lakini kwa msingi 2: kuna 0 na 1 tu, na kila nafasi ina thamani mara mbili ya iliyotangulia. Heksadesimali hutumia msingi 16: tarakimu kumi na sita ni 0 hadi 9 na herufi A hadi F, na kila nafasi ina thamani mara 16 ya iliyotangulia. Kompyuta hufanya kazi kwa binary kwa sababu saketi inahitaji kutofautisha hali mbili tu (imezimwa na imewashwa), na heksadesimali ni njia fupi ya kuandika biti hizo.
| Nafasi (kutoka kulia kwenda kushoto) | Thamani katika binary | Thamani katika heksadesimali |
|---|---|---|
| ya 1 | 1 | 1 |
| ya 2 | 2 | 16 |
| ya 3 | 4 | 256 |
| ya 4 | 8 | 4,096 |
| ya 5 | 16 | 65,536 |
| ya 6 | 32 | 1,048,576 |
| ya 7 | 64 | 16,777,216 |
| ya 8 | 128 | 268,435,456 |
Kutoka binary hadi decimal, kwa mkono
Andika kila tarakimu pamoja na thamani ya nafasi yake kisha jumlisha nafasi zile tu zenye 1. Mfano kwa 1101: kutoka kulia kwenda kushoto nafasi zina thamani 1, 2, 4 na 8.
- Andika nambari na chini yake thamani ya kila nafasi: 1 1 0 1 juu ya 8 4 2 1.
- Angalia kilichopo katika kila nafasi: 1 kwenye ya 8, 1 kwenye ya 4, 0 kwenye ya 2 na 1 kwenye ya 1.
- Puuza nafasi zenye 0 (hapa, ile ya 2).
- Jumlisha: 8 + 4 + 0 + 1 = 13. Kwa hivyo 1101 katika binary ni 13 katika decimal.
Kwa tarakimu nyingi zaidi ni vilevile: 11111111 ni 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, thamani kubwa zaidi inayotosha kwenye biti 8. Na 10110110 ni 128 + 32 + 16 + 4 + 2 = 182.
Kutoka decimal hadi binary, kwa mgawanyo wa mfululizo
Gawanya nambari kwa 2 tena na tena, ukiandika baki ya kila mgawanyo (daima 0 au 1), hadi upate jibu 0. Baki hizo, zikisomwa kutoka chini kwenda juu, ndizo nambari ya binary. Mfano kwa 45:
- 45 ÷ 2 = 22, baki 1
- 22 ÷ 2 = 11, baki 0
- 11 ÷ 2 = 5, baki 1
- 5 ÷ 2 = 2, baki 1
- 2 ÷ 2 = 1, baki 0
- 1 ÷ 2 = 0, baki 1
Ukisoma baki kutoka chini kwenda juu unapata 101101. Ili kuthibitisha, jumlisha: 32 + 8 + 4 + 1 = 45.
Kuna njia nyingine ambayo wengi wanaipendelea: kutoa nguvu za 2 kuanzia kubwa hadi ndogo. Kwa 200: 128 inatosha (inabaki 72), 64 inatosha (inabaki 8), 32 na 16 hazitoshi, lakini 8 inatosha (inabaki 0). Nafasi zilizotumika ni 128, 64 na 8, kwa hivyo 200 = 11001000.
Heksadesimali: tarakimu kumi na sita na jedwali la kuwa nalo karibu
Kwa kuwa hakuna tarakimu za 10 hadi 15, hutumika herufi A, B, C, D, E na F. Tarakimu moja ya heksadesimali ni sawa kabisa na biti nne («nibble»), na ndiyo sababu inafaa sana: baiti moja, yenye biti 8, huandikwa kwa tarakimu mbili tu za heksadesimali.
Ili kubadilisha heksadesimali kuwa decimal, zidisha kila tarakimu kwa nguvu ya 16 ya nafasi yake kisha jumlisha. Kwa mfano, 3F = 3 × 16 + 15 = 63 na A3 = 10 × 16 + 3 = 163.
| Decimal | Binary (biti 4) | Oktali | Heksadesimali |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
Kwa nini heksadesimali hutumika: baiti, rangi na anwani
Baiti moja ni biti 8 na huanzia 0 hadi 255 (00000000 hadi 11111111). Kuandika biti kwa mkono ni polepole na ni rahisi kukosea; katika heksadesimali baiti hiyohiyo ni herufi mbili, kutoka 00 hadi FF. Ili kubadilisha binary kuwa heksadesimali, gawa biti katika vikundi vya nne kuanzia kulia na ubadilishe kila kikundi kwa tarakimu yake kwenye jedwali. Mfano: 11010111 hugawanywa kuwa 1101 na 0111, ambazo ni D na 7, kwa hivyo ni D7. Kwa decimal ni 13 × 16 + 7 = 215.
Mfano unaojulikana zaidi ni rangi za wavuti. Katika #FF8800 kuna baiti tatu: FF kwa nyekundu (255), 88 kwa kijani (136) na 00 kwa buluu (0). Ni rangi ya chungwa kali: nyekundu yote, kijani zaidi ya nusu kidogo na buluu hakuna. Heksadesimali pia huonekana kwenye anwani za kumbukumbu, misimbo ya hitilafu na vitambulisho vya mtandao.
Kutoka maandishi hadi binary kwa ASCII
Kompyuta huhifadhi kila herufi kama nambari, na nambari hiyo kama biti. Katika jedwali la ASCII A ni 65, ambayo kwa binary ya biti 8 ni 01000001. Neno «Hi» ni herufi mbili: H ni 72 (01001000) na i ni 105 (01101001), kwa hivyo huandikwa 01001000 01101001. Kwa «Hola» ni 72, 111, 108 na 97, yaani 01001000 01101111 01101100 01100001, au kwa heksadesimali 48 6F 6C 61.
Zana hutumia usimbaji wa UTF-8: kwa herufi za msingi za Kiingereza kila herufi inachukua baiti moja ya biti 8, lakini herufi yenye alama, kama ñ, au emoji huchukua baiti kadhaa, kwa hivyo hutoa zaidi ya biti 8. Kwa mfano, ñ ni baiti mbili: 11000011 10110001 (C3 B1 kwa heksadesimali).
Jinsi ya kufanya yote haya kwa zana
Kibadilishaji cha «Binary, Decimal na Hex» kinafaa kuthibitisha hesabu zako za mkono au kutatua nambari ndefu bila makosa.
- Andika nambari kwenye sehemu ya msingi wake: «Decimal (msingi 10)», «Binary (msingi 2)», oktali au «Heksadesimali (msingi 16)». Nyingine tatu hujijaza zenyewe.
- Ikiwa tarakimu hailingani na msingi (2 katika binary, kwa mfano), zana inakuarifu.
- Kwa maandishi, yaandike kwenye sehemu ya «Maandishi» na utazame «Binary (biti 8 kwa kila herufi)» na heksadesimali kwa baiti. Unaweza pia kubandika biti katika vikundi vya 8 ili kurudi kwenye maandishi.
- Kwa misingi isiyo ya kawaida, tumia «Msingi wowote (2 hadi 36)»: unachagua msingi wa kuanzia, wa kuishia na nambari.
Mipaka: hubadilisha nambari kamili zisizo hasi tu (bila desimali wala alama ya kuondoa) na haiweke sifuri za mwanzo kwa ajili yako, kwa hivyo ukitaka biti 8 zisizobadilika lazima ujaze mwenyewe (13 ni 00001101). Hakuna unachoandika kinachotoka kwenye kivinjari chako.
Makosa ya kawaida
- Kusoma baki kinyume: katika mgawanyo wa mfululizo baki ya kwanza ndiyo tarakimu ya kulia kabisa, si ya kushoto kabisa.
- Kusahau sifuri za mwanzo pale zinapohitajika: 13 ni 1101, lakini kama baiti ni 00001101. Ni muhimu urefu unapokuwa sehemu ya data, kama katika rangi au barakoa ya mtandao.
- Kuchanganya herufi O na sifuri, au B ya heksadesimali (11) na 8 unaponakili. Katika heksadesimali herufi zina thamani ileile kubwa au ndogo, lakini si sawa na tarakimu.
- Kuacha kiambishi 0x au alama # unapobadilisha: ni alama tu kwamba nambari ni ya heksadesimali na lazima ziondolewe kabla ya kubandika.
- Kudhani kwamba 10 katika binary ni kumi: ni mbili. «10» hiyohiyo ina thamani 2, 10 au 16 kulingana na msingi.
Mazoezi yaliyotatuliwa ya kufanya
Jaribu kutatua kila moja kabla ya kutazama jibu kisha thibitisha kwa zana.
- Badilisha 10110110 kuwa decimal na heksadesimali. Jibu: 128 + 32 + 16 + 4 + 2 = 182; kwa vikundi vya nne, 1011 0110 = B6.
- Badilisha 200 kuwa binary na heksadesimali. Jibu: 11001000 na C8 (12 × 16 + 8 = 200).
- Badilisha 7F kuwa binary. Jibu: 7 = 0111 na F = 1111, kwa hivyo 01111111, ambayo kwa decimal ni 127.
- Andika «OK» kwa binary. Jibu: O ni 79 na K ni 75, yaani 01001111 01001011.
Maswali yanayoulizwa mara kwa mara
Ninabadilishaje 1101 kutoka binary kuwa decimal?
Unajumlisha thamani za nafasi zenye 1: 8 + 4 + 1 = 13. Tarakimu ya pili kutoka kulia ni 0, kwa hivyo 2 haijumlishwi.
255 ni nini katika binary na heksadesimali?
255 ni 11111111 katika binary na FF katika heksadesimali. Ni thamani kubwa zaidi inayotosha kwenye baiti ya biti 8.
Kwa nini heksadesimali hutumia herufi?
Kwa sababu inahitaji alama kumi na sita tofauti na mfumo wa decimal unatoa kumi tu (0 hadi 9). Ndiyo maana A ni 10, B ni 11, C ni 12, D ni 13, E ni 14 na F ni 15.
Nambari ngapi tofauti zinaweza kuandikwa kwa biti 8?
256, kutoka 0 hadi 255. Kwa ujumla, kwa biti n unaweza kuwakilisha thamani 2 kwa nguvu ya n.
Je, zana inabadilisha nambari hasi au zenye desimali?
Hapana, nambari kamili zisizo hasi tu. Kwa maandishi hutumia UTF-8, kwa hivyo herufi zenye alama na emoji hutoa zaidi ya biti 8.