Binārs, decimāls un heksadecimāls: kā pāriet no vienas sistēmas uz otru

Pārvēršana starp skaitīšanas sistēmām šķiet kā maģija, kamēr neizprotat, ka tā vienmēr ir viena un tā pati ideja: katra cipara vērtība ir atkarīga no tā vietas. Šeit iemācīsieties ar rokām pāriet no bināra uz decimālu un otrādi, bez bailēm lasīt heksadecimālo sistēmu un tulkot tekstu bitos, ar atrisinātiem aprēķiniem un tabulu no 0 līdz 15 pa rokai.

Atjaunināts:

Kas ir pozicionālā sistēma

Decimālajā skaitlī 4 095 cipars 4 nav vērts 4: tas ir vērts 4 000, jo atrodas tūkstošu vietā. Katra pozīcija reizina ciparu ar 10 pakāpi (1, 10, 100, 1 000…). Tā ir pozicionālā sistēma, bet bāze ir dažādo izmantoto ciparu skaits: decimālajā tie ir desmit.

Binārā sistēma darbojas tāpat, bet ar bāzi 2: pastāv tikai 0 un 1, un katra vieta ir divreiz vērtīgāka par iepriekšējo. Heksadecimālā sistēma izmanto bāzi 16: sešpadsmit cipari ir no 0 līdz 9 un burti no A līdz F, un katra vieta ir 16 reizes vērtīgāka par iepriekšējo. Datori strādā binārajā sistēmā, jo shēmai jāatšķir tikai divi stāvokļi (izslēgts un ieslēgts), un heksadecimālā sistēma ir īss veids, kā pierakstīt šos bitus.

Cik vērta ir katra vieta. Ja no galvas zināsiet divnieka pakāpes līdz 128, jūs ietaupīsiet gandrīz visus aprēķinus.
Pozīcija (no labās uz kreiso)Vērtība binārajāVērtība heksadecimālajā
1.11
2.216
3.4256
4.84 096
5.1665 536
6.321 048 576
7.6416 777 216
8.128268 435 456

No bināra uz decimālu ar rokām

Pierakstiet katru ciparu ar tā vietas vērtību un saskaitiet tikai tās vietas, kur ir 1. Piemērs ar 1101: no labās uz kreiso vietu vērtības ir 1, 2, 4 un 8.

  1. Uzrakstiet skaitli un zem tā katras pozīcijas vērtību: 1 1 0 1 virs 8 4 2 1.
  2. Paskatieties, kas ir katrā vietā: 1 vietā 8, 1 vietā 4, 0 vietā 2 un 1 vietā 1.
  3. Ignorējiet vietas, kur ir 0 (šeit, vietu 2).
  4. Saskaitiet: 8 + 4 + 0 + 1 = 13. Tātad 1101 binārajā sistēmā ir 13 decimālajā.

Ar vairāk cipariem ir tāpat: 11111111 ir 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255, lielākā vērtība, kas ietilpst 8 bitos. Un 10110110 ir 128 + 32 + 16 + 4 + 2 = 182.

No decimāla uz bināru ar secīgu dalīšanu

Skaitli dala ar 2 atkal un atkal, pierakstot katras dalīšanas atlikumu (vienmēr 0 vai 1), līdz sasniedz dalījumu 0. Atlikumi, lasot no apakšas uz augšu, veido bināro skaitli. Piemērs ar 45:

Lasot atlikumus no apakšas uz augšu, iznāk 101101. Lai pārbaudītu, saskaitiet: 32 + 8 + 4 + 1 = 45.

Ir arī alternatīva metode, kas daudziem patīk labāk: atņemt divnieka pakāpes no lielākās uz mazāko. Skaitlim 200: der 128 (paliek 72), der 64 (paliek 8), neder 32, 16, bet der 8 (paliek 0). Izmantotās vietas ir 128, 64 un 8, tātad 200 = 11001000.

Heksadecimālā sistēma: sešpadsmit cipari un tabula pa rokai

Tā kā ciparu 10 līdz 15 nav, izmanto burtus A, B, C, D, E un F. Viens heksadecimālais cipars precīzi atbilst četriem bitiem (viens „nibble”), un tāpēc tas ir tik ērti: baitu, kas ir 8 biti, pieraksta tikai ar diviem heksadecimāliem cipariem.

Lai pārvērstu heksadecimālu skaitli decimālā, reiziniet katru ciparu ar tās vietas 16 pakāpi un saskaitiet. Piemēram, 3F = 3 × 16 + 15 = 63 un A3 = 10 × 16 + 3 = 163.

No 0 līdz 15 četrās sistēmās, ko rāda rīks.
DecimālaisBinārais (4 biti)OktālaisHeksadecimālais
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

Kāpēc izmanto heksadecimālo sistēmu: baiti, krāsas un adreses

Baits ir 8 biti un svārstās no 0 līdz 255 (00000000 līdz 11111111). Rakstīt bitus ar rokām ir lēni un kļūdaini; heksadecimālajā sistēmā tas pats baits ir divas rakstzīmes, no 00 līdz FF. Lai pārietu no bināra uz heksadecimālu, sadaliet bitus četru grupās no labās puses un aizstājiet katru grupu ar tās ciparu no tabulas. Piemērs: 11010111 sadalās 1101 un 0111, kas ir D un 7, tātad tas ir D7. Decimālajā tas ir 13 × 16 + 7 = 215.

Zināmākais gadījums ir tīmekļa krāsas. Krāsā #FF8800 ir trīs baiti: FF sarkanajam (255), 88 zaļajam (136) un 00 zilajam (0). Tā ir intensīva oranža krāsa: viss sarkanais, nedaudz vairāk par pusi zaļā un nekāda zilā. Heksadecimālā sistēma parādās arī atmiņas adresēs, kļūdu kodos un tīkla identifikatoros.

No teksta uz bināru ar ASCII

Dators saglabā katru burtu kā skaitli, bet šo skaitli kā bitus. ASCII tabulā A ir 65, kas 8 bitu binārajā ir 01000001. Vārds „Hi” ir divi burti: H ir 72 (01001000) un i ir 105 (01101001), tāpēc to raksta 01001000 01101001. Vārdam „Hola” tie ir 72, 111, 108 un 97, tas ir 01001000 01101111 01101100 01100001, bet heksadecimālajā 48 6F 6C 61.

Rīks izmanto UTF-8 kodējumu: pamata angļu burtiem katra rakstzīme aizņem vienu 8 bitu baitu, bet burts ar garumzīmi vai mīkstinājuma zīmi (piemēram, ā vai š) un emocijzīme aizņem vairākus baitus, tāpēc dod vairāk nekā 8 bitus. Piemēram, burts ñ ir divi baiti: 11000011 10110001 (C3 B1 heksadecimālajā).

Kā to visu izdarīt ar rīku

Pārveidotājs „Binārs, decimāls un heksadecimāls” noder, lai pārbaudītu aprēķinus ar rokām vai atrisinātu garus skaitļus bez kļūdām.

  1. Ierakstiet skaitli tās sistēmas laukā: „Decimālais (10. sistēma)”, „Binārais (2. sistēma)”, oktālais vai „Heksadecimālais (16. sistēma)”. Pārējie trīs aizpildās paši.
  2. Ja cipars neatbilst sistēmai (piemēram, 2 binārajā), rīks par to paziņo.
  3. Tekstam ierakstiet to laukā „Teksts” un skatiet „Binārais (8 biti uz rakstzīmi)” un heksadecimālo pa baitiem. Varat arī ielīmēt bitus 8 grupās, lai atgrieztos pie teksta.
  4. Neparastām sistēmām izmantojiet „Jebkura sistēma (no 2 līdz 36)”: izvēlaties avota sistēmu, mērķa sistēmu un skaitli.

Ierobežojumi: rīks pārvērš tikai nenegatīvus veselus skaitļus (bez decimāldaļām un zīmes) un neliek sākuma nulles jūsu vietā, tāpēc, ja vēlaties fiksētus 8 bitus, tie jāpapildina ar rokām (13 ir 00001101). Nekas, ko rakstāt, neatstāj jūsu pārlūkprogrammu.

Biežākās kļūdas

Atrisināti uzdevumi treniņam

Mēģiniet atrisināt katru, pirms skatāties atbildi, un pēc tam pārbaudiet ar rīku.

Biežāk uzdotie jautājumi

Kā pārvērst 1101 no bināra uz decimālu?

Saskaitiet to vietu vērtības, kur ir 1: 8 + 4 + 1 = 13. Otrais cipars no labās ir 0, tāpēc 2 netiek pieskaitīts.

Cik ir 255 binārajā un heksadecimālajā sistēmā?

255 ir 11111111 binārajā un FF heksadecimālajā. Tā ir lielākā vērtība, kas ietilpst 8 bitu baitā.

Kāpēc heksadecimālā sistēma izmanto burtus?

Jo tai vajag sešpadsmit dažādus simbolus, bet decimālā sistēma dod tikai desmit (0 līdz 9). Tāpēc A ir 10, B ir 11, C ir 12, D ir 13, E ir 14 un F ir 15.

Cik dažādu skaitļu var uzrakstīt ar 8 bitiem?

256, no 0 līdz 255. Kopumā ar n bitiem var attēlot 2 pakāpē n vērtības.

Vai rīks pārvērš negatīvus skaitļus vai skaitļus ar decimāldaļām?

Nē, tikai nenegatīvus veselus skaitļus. Tekstam tiek izmantots UTF-8, tāpēc burti ar garumzīmēm un emocijzīmes dod vairāk nekā 8 bitus.