Ang binary ay ang pinakasimpleng uri ng sistema ng numero na gumagamit lamang ng dalawang digit ng 0 at 1 (ibig sabihin, halaga ng base 2). Dahil ang digital electronics ay mayroon lamang itong dalawang estado (alinman sa 0 o 1), kaya ang binary na numero ay pinaka-ginustong sa modernong computer engineer, networking at mga espesyalista sa komunikasyon, at iba pang mga propesyonal. Samantalang ang Hexadecimal number ay isa sa mga sistema ng numero na may halaga ay 16 at mayroon lamang itong 16 na simbolo − 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 at A, B, C, D, E , F. Kung saan ang A, B, C, D, E at F ay mga solong bit na representasyon ng decimal na halaga 10, 11, 12, 13, 14 at 15 ayon sa pagkakabanggit.
Conversion mula sa Binary sa Hexadecimal number system
Ang sistema ng hexadecimal na numero ay nagbibigay ng maginhawang paraan ng pag-convert ng malalaking binary na numero sa mas compact at mas maliliit na grupo. Mayroong iba’t ibang mga paraan upang i-convert ang isang binary na numero sa hexadecimal na numero. Maaari kang mag-convert gamit ang mga direktang pamamaraan o hindi direktang pamamaraan. Una, kailangan mong i-convert ang isang binary sa ibang base system (hal., sa decimal, o sa octal). Pagkatapos ay kailangan mong i-convert ito hexadecimal number.
Most Significant Bit (MSB) | Hexa Point | Least Significant Bit (LSB) | |||
---|---|---|---|---|---|
16 2 | 16 1 | 16 0 | 16 -1 | 16 -2 | 16 -3 |
256 | 16 | 1 | 1/16 | 1/256 | 1/4096 |
Dahil ang mga numero ng numero ay uri ng positional number system. Ibig sabihin, ang bigat ng mga posisyon mula kanan papuntang kaliwa ay bilang 16 0 , 16 1 , 16 2 , 16 3 at iba pa. para sa integer na bahagi at bigat ng mga posisyon mula kaliwa hanggang kanan ay bilang 16 -1 , 16 -2 , 16 -3 at iba pa. para sa fractional na bahagi. Halimbawa − I-convert ang binary number 1101010 sa hexadecimal number.
I-convert muna ito sa decimal na numero: = (1101010) 2 = 1x2 6 +1x2 5 +0x2 4 +1x2 3 +0x2 2 +1x2 1 +0x2 0 = 64+32+0+8+0+2+0 = (106) 10 Pagkatapos, i-convert ito sa hexadecimal number = (106) 10 = 6x16 1 +10x16 0 = (6A) 16 na sagot.
Gayunpaman, mayroon ding direktang paraan upang i-convert ang isang binary na numero sa hexadecimal number − pagpapangkat na ipinaliwanag bilang sumusunod sa ibaba.
Gamit ang Pagpapangkat
Dahil, mayroon lamang 16 na numero (mula 0 hanggang 7 at A hanggang F) sa hexadecimal na sistema ng numero, kaya maaari naming katawanin ang anumang digit ng hexadecimal na sistema ng numero gamit lamang ang 4 na bit tulad ng sumusunod sa ibaba.
Hexa | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Binary | 0000 | 0001 | 0010 | 0011 | 0100 | 0101 | 0110 | 0111 |
Hexa | 8 | 9 | A | B | C | D | E | F |
Binary | 1000 | 1001 | 1010 | 1011 | 1100 | 1101 | 1110 | 1111 |
Kaya, kung gagawin mo ang bawat pangkat ng 4 bit ng binary input number, pagkatapos ay palitan ang bawat pangkat ng binary number mula sa katumbas nitong hexadecimal digit. Iyon ay magiging hexadecimal na numero ng ibinigay na numero. Tandaan na maaari kang magdagdag ng anumang bilang ng 0 sa pinakakaliwang bit (o sa pinaka makabuluhang bit) para sa integer na bahagi at magdagdag ng anumang bilang ng 0 sa pinakakanang bit (o hindi bababa sa makabuluhang bit) para sa bahagi ng fraction para sa pagkumpleto ng pangkat ng 4 bit, ito ay hindi nagbabago ng halaga ng input binary number. Kaya, ito ay mga sumusunod na hakbang upang i-convert ang isang binary na numero sa hexadecimal na numero.
- Kunin ang binary number
- Hatiin ang mga binary digit sa mga pangkat ng apat (nagsisimula sa kanan) para sa integer na bahagi at magsimula sa kaliwa para sa bahagi ng fraction.
- I-convert ang bawat pangkat ng apat na binary digit sa isang hexadecimal digit.
Ito ay simpleng algorithm kung saan kailangan mong i-grupo ang binary number at palitan ang kanilang katumbas na hexadecimal digit. Halimbawa-1 − I-convert ang binary number 1010101101001 sa hexadecimal number. Dahil walang binary point dito at walang fractional na bahagi. Kaya, Samakatuwid, ang binary hanggang hexadecimal ay,
= (1010101101001) 2 = (1 0101 0110 1001) 2 = (0001 0101 0110 1001) 2 = (1 5 6 9) 16 = (1569) 16
Halimbawa-2 − I-convert ang binary number 001100101.110111 sa hexadecimal number. Dahil mayroong binary point dito at fractional na bahagi. Kaya, Samakatuwid, ang binary hanggang hexadecimal ay,
= (001100101.110111) 2 = (0 0110 0101 . 1101 1100) 2 = (0110 0101 . 1101 1100) 2 = (6 5 . DC) 16 = (65.DC) 16
Ang mga ito ay nasa itaas ng mga simpleng conversion na binary number sa hexadecimal na numero. Na-update noong 26-Hun-2020 06:37:33
- Mga Kaugnay na Tanong at Sagot
- Programang C++ para I-convert ang Hexadecimal Number sa Binary
- Paano I-convert ang Decimal sa Binary, Octal, at Hexadecimal gamit ang Python?
- Paano I-convert ang Decimal sa Hexadecimal?
- Paano I-convert ang Hexadecimal sa Decimal?
- Paano i-convert ang Decimal sa Hexadecimal sa Java
- Paano i-convert ang decimal sa hexadecimal sa JavaScript?
- Java Program upang i-convert ang integer sa hexadecimal
- Java Programa upang i-convert mula sa decimal patungo sa hexadecimal
- I-convert ang isang Numero sa Hexadecimal sa C++
- Paano I-convert ang Binary sa Decimal?
- Paano I-convert ang Decimal sa Binary?
- Paano I-convert ang Binary sa Octal?
- Paano I-convert ang Octal sa Binary?
- Paano i-convert ang isang integer sa isang hexadecimal string sa Python?
- Java program upang i-convert ang decimal na numero sa hexadecimal na numero
Transcript ng video
— [Voiceover] Ang gusto kong
gawin sa video na ito ay tuklasin ang koneksyon sa pagitan
ng binary number system na malinaw, o napag-usapan na natin ito, ay base two. I-explore ang quotient sa pagitan
niyan at ng hexadecimal, hexadecimal number
system, na base 16. Ang dahilan kung bakit ito ay kawili-wili ay dahil ang 16 ay isang kapangyarihan ng dalawa. Ang makikita natin ay palagi mong makikita ang hexadecimal number system. Ito ay halos condensed representasyon ng binary number system. Ito ang dahilan kung bakit mo talaga, napag-usapan na natin
ang tungkol sa binary system na malawakang ginagamit sa computer science at kahit sa computer engineering. Ito ang pinagbabatayan
na mga bagay na nangyayari o ito ay ang representasyong
ginagamit kapag pinag-uusapan natin ang mga logic gate at
transistor at mga bagay na katulad nito. Ngunit marami ring lumalabas ang hexadecimal dahil ito ay uri ng condensed
representation ng base two. Ano ang ibig kong sabihin doon? Isulat natin ang arbitraryong
numero sa base two. Sabihin nating mayroon akong isa, zero, isa, isa, zero, isa, isa, isa, zero. Itong karapatan dito ay nasa binary at maaari pa akong sumulat sa panaklong. Ito ay isang binary na representasyon. Gusto kong i-convert ito sa
hexadecimal na representasyon. Hinihikayat kita na i-pause ang
video at subukan sa iyong sarili. Bibigyan kita ng clue
kung paano mo maiisip ang direktang pag-convert
mula sa base two patungo sa base 16. Isipin kung alin
dito ang nasa 16s na lugar at kung ano ang 256 na lugar dito. Pagkatapos ay maaaring makatulong sa iyo na mag-convert nang direkta. Sa pag-aakala na nasubukan mo na ito. Ang talagang nakakatuwang bagay tungkol
sa pagitan ng base two at base 16 ay hindi mo na kailangan, well para sa anumang mga
base, hindi mo talaga kailangang dumaan sa base 10
ngunit ang mga ito sa partikular, ito ay lalong madaling mag-
convert sa pagitan ng dalawang base na ito . Ang realization na kailangan mong gawin ay, ano ang mga kapangyarihan, aling
mga lugar dito ang mga kapangyarihan ng 16? Dito mismo,
iyon ang lugar. Ang isang paraan upang pag-isipan ito
ay ang lahat ng ito ay sasabihin sa iyo kung ilan ang mayroon kami. Isa, dalawa, apat, at walo, ngunit isa pang paraan upang isipin
ito ay ito ay isang bilang ng mga isa,
hanggang sa potensyal na 15 isa. Ito ay mabibilang, ito ay
magiging sa pagitan ng zero, at isusulat ko ito. Sa totoo lang, hayaan mo akong isulat ito sa base 16. Ito ay magiging sa pagitan ng zero at F. Ito ay magiging sa pagitan ng zero at 15. Ito ay isang uri ng pagbilang sa pagitan ng bilang ng mga isa, sa palagay ko ay masasabi mo. Pagkatapos ito ay ang 16s na lugar. Gagawin ko iyon sa iba’t ibang kulay. Itong dito mismo ay ang 16s na lugar. Maaari kang magkaroon sa pagitan ng zero at 15s, 16s. Ito rin ay magiging sa
pagitan ng zero at F, kapag tiningnan mo itong
apat na digit na binary na numero. Muli, ang buong
bagay na ito dito mismo ay magsasabi sa
iyo kung ilang 16 ang mayroon ka. Ang buong bagay na ito ay magsasabi sa iyo kung ilan ang mayroon ka. Then the next four, we could continue going, although iisa lang ang lugar dito. Maaari tayong pumunta,
dito mismo ang 256s na lugar. Ito ang magiging susunod na apat na digit. Mayroon talaga silang isa dito, ngunit isa, dalawa, tatlo,
at pagkatapos ay ang pang-apat. Ito rin ay magiging sa
pagitan ng zero at 15, 256s. Sana, nakatulong ito sa iyo nang kaunti. Sa totoo lang, kung isa itong
clue, hinihikayat kitang i-pause muli ang video (laughs) at tingnan kung maaari mong i-represent ito sa hexadecimal. Subukan nating gawin ang bagay na ito nang sama-sama. Ilan ang mayroon tayo? Anong numero ito? Itong apat na digit dito mismo. Ito ay eight plus four plus two. Kaya’t ang walo at apat ay 12, kasama ang dalawa ay 14. Itong kanan dito ay 14. Paano natin ito kinakatawan sa hexadecimal? Buweno, ang 14 ay isang mas mababa sa
15 kaya ito ay magiging E. Ito ay magiging E. Ito ay E. Ang E ay ang ating hexadecimal
na representasyon ng numerong 14 ay dumating bago ang ating
representasyon ng numerong 15 F. Sige, ngayon, ilan ang 16s natin? Tingnan natin, wala akong walo. Mayroon akong apat, at mayroon akong dalawa. Magkakaroon tayo ng anim na 16s. Kaya magkakaroon tayo ng anim na 16s. Kung gayon, ilang 256 ang mayroon ako? Mayroon lang akong isang 256. Isang 256. Ang numerong ito sa hexadecimal,
at maaari kong isulat iyon. Ito ay nasa hexadecimal
dito mismo, ay isa, anim, E. Isa, anim, E. I guess you can call this 256 E, 16 E. I guess 14. I (laughs) finally have to
come up with a better way ng pagbabasa nitong hexadecimal number. Kung hindi ka mausisa kung anong
numero ito, dahil hindi mo na kailangang dumaan sa decimal
para lang maunawaan mo ito sa sistema ng numero na nakasanayan
mong gamitin.
mayroon. Huwag mag-atubiling gawin ito. Ang binary sa hexadecimal conversion ay isa pang uri ng conversion na nangyayari sa number system. Mayroong 4 na uri ng sistema ng numero sa matematika ie binary, octal, decimal, at hexadecimal. Ang bawat isa sa mga form na ito ay maaaring i-convert sa iba pang uri ng sistema ng numero sa pamamagitan ng paggamit ng talahanayan ng conversion o ang paraan ng conversion. Tuklasin natin ang iba’t ibang paraan ng pag-convert ng mga binary na numero sa mga numerong hexadecimal at lutasin ang ilang mga halimbawa para sa isang mas mahusay na pag-unawa.
1. | Ano ang Binary sa Hexadecimal Conversion? |
2. | Mga Hakbang sa Pag-convert ng Binary sa Hexadecimal |
3. | I-convert ang Binary sa Hexadecimal Gamit ang Decimal Point |
4. | Mga FAQ sa Binary hanggang Hexadecimal |
Ano ang Binary sa Hexadecimal Conversion?
Ang binary sa hexadecimal conversion ay ang proseso ng pag-convert ng mga binary na numero sa hexadecimal na mga numero. Ang mga binary na numero ay may base na numero na 2 habang ang batayang numero ng hexadecimal ay 16. Ang conversion mula sa binary patungo sa hexadecimal ay nangyayari sa tulong ng mga batayang numero. Mayroong mga paraan kung saan ginagawa ang conversion, ang una ay sa pamamagitan ng pag-convert ng binary sa isang decimal na numero pagkatapos ay isang hexadecimal na numero. Ang pangalawa ay sa pamamagitan ng paggamit ng binary sa hexadecimal conversion table. Bago tayo makarating sa paraan ng pag-convert, tingnan natin kung ano ang binary at hexadecimal.
Binary Number System
Ang sistema ng binary na numero ay isa sa pinakasimpleng sistema ng numero na gumagamit lamang ng mga digit na 0 at 1 kasama ang base na numero bilang 2. Ang mga binary na numero ay kadalasang ginagamit sa mga computer na lubhang madaling gamitin para sa mga inhinyero, networking at espesyalista sa komunikasyon, at sa maraming modernong kompyuter . Ang mga digit 0 at 1 ay tinatawag na bits at 8 bits na magkasama ay gumagawa ng isang byte. Ang sistema ng binary na numero ay hindi nakikitungo sa iba pang mga numero tulad ng 2,3,4,5 at iba pa. Halimbawa: Ang \(10110001_2, 11001101_2, 1011001_2 \) ay ilang halimbawa ng mga numero sa binary number system.
Hexadecimal Number System
Ang hexadecimal number system ay ang positional numeral system sa sistema ng numero na gumagamit ng base number na 16 kasama ang labing anim na digit/alphabets: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 at A, B, C, D, E, F. Dito, ang ibig sabihin ng AF ng hexadecimal system ay ang mga numerong 10-15 ng decimal number system ayon sa pagkakabanggit. Ang bawat digit sa sistema ng hexadecimal na numero ay kumakatawan sa kapangyarihan ng base (16). Halimbawa: \(4E7_{16}, 3F_{16}, 6D2C_{16}\) ay ilang halimbawa ng mga numero sa hexadecimal number system.
Mga Hakbang sa Pag-convert ng Binary sa Hexadecimal
Upang i-convert ang binary sa mga hexadecimal na numero, kailangan nating gamitin ang parehong mga base number ie 2 para sa binary at 16 para sa hexadecimal. Ang proseso ng conversion ay nangyayari sa dalawang paraan, ang unang paraan ay sa pamamagitan ng paggamit ng binary hanggang hexadecimal na talahanayan ng conversion kung saan ang 1 hexadecimal na numero ay katumbas ng 4 na binary na numero. Ang pangalawang paraan ay sa pamamagitan ng pag-convert ng hexadecimal na numero sa isang decimal na numero pagkatapos ay i-convert ito sa isang binary. Tingnan natin ang parehong mga pamamaraan nang detalyado.
Paraan 1: I-convert ang Binary sa Hexadecimal Gamit ang Conversion Table
Ang isa sa pinakasimple at pinakamadaling paraan upang mag-convert mula sa binary patungo sa hexadecimal ay sa pamamagitan ng paggamit ng talahanayan ng conversion. Dahil ang mga binary na numero ay mayroon lamang 0 at 1 na tinatawag na bits at ang mga hexadecimal na numero ay positional number system din, bawat 4 na bits o numero ay katumbas ng 1 hexadecimal na numero na kinabibilangan ng mga alphabets A — F din. Ang talahanayan ng conversion ay ang mga sumusunod: Tingnan natin ang isang halimbawa para sa isang mas mahusay na pag-unawa. Halimbawa: I-convert ang \((00110110101)_{2}\) sa Hexadecimal. Una naming pangkatin ang mga numero sa isang set ng 4. Dahil ang bawat 4 na digit sa binary ay nagiging isang 1 digit sa hexadecimal. Magdagdag ng mga zero sa kaliwa ng huling digit kung walang sapat na mga digit upang makagawa ng isang set ng apat: 0001 1011 0101 Sa pamamagitan ng pagtingin sa talahanayan ng conversion, mahahanap natin ang katumbas na hexadecimal na numero. 0001 = 1 , 1011 = B , 0101 = 5 Inaayos namin ang mga numero nang magkasama upang makuha ang huling numero. Samakatuwid, \((00110110101)_{2}\) = \((1B5)_{16}\).
Paraan 2: I-convert ang Binary sa Hexadecimal Nang Walang Conversion Table
Ang mga binary na numero ay maaaring ma-convert sa mga numerong hexadecimal nang hindi rin ginagamit ang talahanayan ng conversion. Ang mga binary na numero ay unang kino-convert sa decimal na numero pagkatapos ay sa isang hexadecimal na numero. Dito, ang batayang numero ng isang decimal na numero ay 10. Ang binary na numero ay maaaring ma-convert sa isang decimal na numero sa pamamagitan ng pagpapahayag ng bawat digit bilang isang produkto ng ibinigay na numero 1 o 0 sa kani-kanilang kapangyarihan ng 2. At upang i-convert mula sa decimal patungo sa hexadecimal hinahati namin ang numerong 16 hanggang sa zero ang quotient. Tingnan natin ang isang halimbawa para sa isang mas mahusay na pag-unawa. Halimbawa: I-convert ang \((0111000101001)_{2}\) sa Hexadecimal. I-convert muna namin ang binary number sa isang decimal na numero. Upang gawin iyon, ang bawat digit ay pinarami ng katumbas na kapangyarihan ng dalawa. \((0111000101001)_{2}\) = 0 × 2 12 + 1 × 2 11 + 1 × 2 10 + 1 × 2 9 + 0 × 2 8 + 0 × 2 7 + 0 × 2 6 + 1 × 2 5 + 0 × 2 4 + 1 × 2 3 + 0 × 2 2 + 0 × 2 1 + 1 × 2 0 \((0111000101001)_{2}\) = 0 × 4096 + 1 × 2048 + 1 × 1024 + 1 × 512 + 0 × 256 + 0 × 128 + 0 × 64 + 1 × 32 + 0 × 16 + 1 8 + 0 × 4 + 0 × 2 + 1 × 1 \((0111000101001)_{2}\) = 0 + 2048 + 1024 + 512 + 0 + 0 + 0 + 32 + 0 + 8 + 0 + 0 + 1 \((0111000101001)_{2}\) = 3625 Samakatuwid, \((0111000101001)_{2}\) = \((3625)_{10}\). Kapag nakuha na ang decimal na numero, iko-convert namin ang decimal na numerong ito sa isang hexadecimal na numero. Ang numero ay hinati sa 16 hanggang ang quotient ay zero. 3625/16 = 226 ang quotient, ang natitira ay 9 226/16 = 14 ang quotient, ang natitira ay 2 14/16 = 0 ang quotient, ang natitira ay 14 Ang huling numero ay nakuha sa pamamagitan ng pag-aayos ng mga numero mula sa ibaba hanggang sa itaas ie 1429. Dahil ang hexadecimal number system ay tumatalakay lamang sa 0 — 9 sa mga numero at 10 -15 sa mga alpabeto bilang A — F, kaya ang numero ay E29. Samakatuwid, \((0111000101001)_{2}\) = \((E29)_{16}\).
I-convert ang Binary sa Hexadecimal Gamit ang Decimal Point
Upang i-convert ang binary sa hexadecimal na may decimal point, gumagamit kami ng katulad na paraan tulad ng ginamit sa nakaraang seksyon. Ginagamit namin ang talahanayan ng conversion upang i-convert ang binary sa mga hexadecimal na numero. Sa isang decimal point, ang binary number ay magkakaroon din ng fractional na bahagi na isasaalang-alang pagkatapos ng decimal point. Habang ang conversion ang decimal point ay hindi nakakaapekto sa posisyon ng mga numero. Tingnan natin ang isang halimbawa upang mas maunawaan ito. Halimbawa: \((0100110.10110110)_{2}\) Una naming pangkatin ang mga numero sa isang set ng 4. Dahil ang bawat 4 na digit sa binary ay nagiging isang 1 digit sa hexadecimal. Magdagdag ng mga zero sa kaliwa ng huling digit kung walang sapat na mga digit upang makagawa ng isang set ng apat: 0010 0110 . 1011 0110 Sa pamamagitan ng pagtingin sa talahanayan ng conversion na binanggit sa nakaraang seksyon, mahahanap natin ang katumbas na hexadecimal na numero. 0010 = 2 , 0110 = 6 , 1011 = B , 0110 = 6 Inaayos namin ang mga numero nang magkasama upang makuha ang huling numero. Ang decimal point ay nasa parehong posisyon tulad ng nasa binary number. Samakatuwid, \((0100110.10110110)_{2}\) = \((26.B6)_{16}\).
Mga Kaugnay na Paksa
Nakalista sa ibaba ang ilang kawili-wiling paksa na nauugnay sa binary hanggang hexadecimal, tingnan.
- Hexadecimal hanggang Binary
- Decimal hanggang Octal
- Octal hanggang Decimal
Mga FAQ sa Binary hanggang Hexadecimal
Ano ang Binary hanggang Hexadecimal?
Ang binary to hexadecimal ay isang anyo ng conversion kung saan ang binary number na may base na 2 ay na-convert sa isang hexadecimal number na may base na 16. Ang binary number ay mayroon lamang 2 numero o bits ie 0 at 1. Habang ang hexadecimal na numero ay tumatalakay sa mga numero at alpabeto , 0 — 9 at A — F (10 -15).
Paano Mo Iko-convert ang Binary sa Hexadecimal?
Ang mga hakbang upang i-convert ang binary sa hexadecimal ay:
- Hatiin ang binary number sa mga pangkat na may 4 na digit sa bawat pangkat.
- Sa pamamagitan ng pagtingin sa talahanayan ng conversion, isulat ang hexadecimal na katumbas ng bawat isa sa mga pangkat.
- Pagsamahin ang lahat ng mga numero upang makuha ang hexadecimal na numero.
Ano ang Binary Number 11000011 sa Hexadecimal?
Hatiin ang binary sa mga pangkat na may 4 na numero sa bawat pangkat. 1100 0011. Sa pamamagitan ng pagtingin sa talahanayan ng conversion, 1100 = C at 0011 = 3. Samakatuwid, \((11000011)_{2}\) = \((C3)_{16}\).
Ano ang FFFF sa Binary?
\((FFFF)_{16}\ = \((1111111111111111)_{2}\).
Ano ang Katumbas ng Hexadecimal Number F sa Binary?
Sa pagtingin sa binary hanggang hexadecimal na talahanayan ng conversion, masasabi nating F = 1111.
Paano I-convert ang Binary Number sa Decimal Number?
Maaari naming i-convert ang isang binary na numero sa isang decimal na numero na nagpapahayag ng bawat digit bilang isang produkto ng ibinigay na numero 1 o 0 sa kani-kanilang kapangyarihan ng 2. Kung ang isang binary na numero ay may n digit, B = \((a)_{n-1 }\).. \((a)_{3}\) \((a)_{2}\) \((a)_{1}\) \((a)_{0}\), ang decimal na numero para dito ay ibinibigay bilang, D = ( \((a)_{0}\)×2 0 ) + ( \((a)_{1}\)×2 1 ) + ( \((a) )_{2}\)×2 2 ) + … Ang Number System ay isang pangunahing bahagi ng matematika. Ang sistema ng numero at ang mga conversion nito ay ginagamit sa iba’t ibang larangan ng matematika at computer science. Ang artikulong ito ay tungkol sa binary, hexadecimal, at conversion ng binary sa hexadecimal number system. Ang binary sa decimal na conversion ay napakadali at ipinaliwanag pa. Ang binary number system ay isang sistema kung saan ang mga numero ay ipinahayag sa base 2. Sa binary number system, ang mga numero ay kinakatawan sa mga tuntunin ng 0s at 1s lamang. Ang mga digit sa binary number system ay tinatawag na bits o binary digits. Halimbawa: (10110) 2 ,
Decimal | Binary |
---|---|
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |
8 | 1000 |
9 | 1001 |
10 | 1010 |
11 | 1011 |
12 | 1100 |
13 | 1101 |
14 | 1110 |
15 | 1111 |
Ang hexadecimal number system ay isang sistema kung saan ang mga numero ay ipinahayag sa base 16. Sa hexadecimal number system, ang mga numero ay kinakatawan sa mga tuntunin ng 0-9 at A – F. Ang hexadecimal na numero ay isinusulat bilang numero H, (numero) 16 , (numero) H . Halimbawa: (A23F) 16 ,
Decimal | Hexadecimal |
---|---|
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | A |
11 | B |
12 | C |
13 | D |
14 | E |
15 | F |
Conversion ng Binary sa Hexadecimal
Paraan 1
- Una, i-convert ang ibinigay na binary number sa decimal.
- Pagkatapos, i-convert ang nakuhang decimal sa hexadecimal.
Halimbawa: (1110) 2 = (_______) 16
I-convert muna ang (1110) 2 sa decimal = (1110) 2 = 2 3 × 1 + 2 2 × 1 + 2 1 × 1 + 2 0 × 0 = 8 + 4 + 2 + 0 = (14) 10 Pagkatapos, i-convert ang (14) 10 sa hexadecimal = (14) 10 = (E) 16
Halimbawa 2 : (0.11001) 2 = (_________) 16
I-convert muna ang (0) 2 sa decimal = 0*2 0 = (0) 10 Pagkatapos ay i-convert ang (11001) 2 sa decimal = 1*2 -1 + 1*2 -2 + 0*2 -3 + 0*2 -4 + 1*2 -5 = (0.78125) 10 Ngayon, i-convert ang (0) 10 sa hexadecimal = (0) 16 Ngayon i-convert ang (.78125) 10 sa hexadecimal 0.78125*16 = 12.5 0.5*16 = 8.0 (.78125) 10 hanggang hexadecimal = (.C8) 16 kung saan ang C para sa 12 at 8 para sa 8 Kaya (0.11001) 2 = (0.C8) 16
Paraan 2: (Direktang Paraan para sa pag-convert ng binary sa hexadecimal) Kunin ang ibinigay na binary number at bumuo ng koleksyon ng apat na bits na tinatawag na quad, pagkatapos ay palitan ang quad ng katumbas na hexadecimal nito. Samakatuwid, ang nakuhang numero ay ang conversion ng isang binigay na binary sa hexadecimal. Tandaan
- Kung, habang binubuo ang quad, ang mga bit ay bago ang radix point, pagkatapos ay simulan ang pagbuo ng quad mula sa LSB bit at kung ang mga bit ay pagkatapos ng radix point, simulan ang pagbuo ng quad mula sa agarang bit pagkatapos ng radix point.
- Habang binubuo ang quad, ang bilang ng mga bit ay mas mababa sa 4 at bago ang radix point, pagkatapos ay magdagdag ng 0s bago ang mas kaunting mga bit upang bumuo ng isang quad.
- Habang binubuo ang quad, ang bilang ng mga bit ay mas mababa sa 4 at pagkatapos ng radix point pagkatapos, magdagdag ng 0s pagkatapos ng mas kaunting mga bit upang bumuo ng isang quad.
Decimal | Binary | Hexadecimal |
---|---|---|
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
Halimbawa: (11101111.111001) 2 = (_______) 16
1110 1111.1110 01 1110 1111 1110 01 00 E F E 4 (11101111.111001) 2 = (EF.E4) 16
Nagdagdag kami ng dalawang zero sa huli dahil mayroon lang kaming 01, na hindi gumagawa ng quad. Ang 0s ay idinaragdag pagkatapos ng 01 dahil ito ay pagkatapos ng radix point.
Mga Halimbawang Tanong
Tanong 1: Magbalik-loob: (111111101) 2 = (_________) 16 Solusyon:
(111111101) 2 = 000 1 1111 1101 (Ang naka-bold na tatlong 0 ay idinaragdag bago ang 1 dahil ito ay mahalagang bahagi (bago ang radix point)) = 1 FD = (111111101) 2 = (1FD) 16
Tanong 2: Convert: (01011110001) 2 = (_________) 16 Solusyon:
(01011110001) 2 = 0 010 1111 0001 (Ang bold na 0s ay idinaragdag bago ang 1 dahil ito ay mahalagang bahagi (bago ang radix point)) = 2 F 1 = (01011110001) 2 = (2F1) 16
Tanong 3: Magbalik-loob: (0.11001) 2 = (_________) 16 Solusyon:
(0.11001) 2 = 000 0 . 1100 1 000 (Ang bold na tatlong 0 ay idinaragdag bago ang 0 dahil ito ay isang mahalagang bahagi (bago ang radix point), at 3 bold na 0 ay idinaragdag pagkatapos ng 1 dahil ang 1 ay pagkatapos ng radix point). = 0 C 8 (0.11001) 2 = (0.C8) 16
Tanong 4: Magbalik-loob: (1.1) 2 = (_______) 16 Solusyon:
(1.1) 2 = 000 1 . 1 000 (Ang bold na tatlong 0 ay idinaragdag bago ang 1 dahil ito ay isang mahalagang bahagi (bago ang radix point), at 3 bold na 0 ay idinaragdag pagkatapos ng 1 dahil ang 1 ay pagkatapos ng radix point). = 1 8 = (1.1) 2 = (1.8) 16
Tanong 5: Magbalik-loob: (101.10101) 2 = (_______) 16 Solusyon:
(101.10101) 2 = 0 101 . 1010 1 000 (Ang bold na 0 ay idinaragdag bago ang 101 dahil ito ay mahalagang bahagi (bago ang radix point) at 3 bold na 0 ay idinaragdag pagkatapos ng 1 dahil ang 1 ay pagkatapos ng radix point) = 5 A 8 = (101.10101) 2 = (5A8) 16
Tanong 6: Convert: (100001.00000001) 2 = (_______) 16 Solusyon:
(100001.00000001) 2 = 00 10 0001 . 0000 0001 (Ang naka-bold na dalawang 0 ay idinaragdag bago ang 10 dahil ito ay mahalagang bahagi (bago ang radix point)) = 2 1 0 1 = (100001.00000001) 2 = (21.01) 16
Tanong 7: Convert: (10111101.0001111) 2 = (_______) 16 Solusyon:
(10111101.0001111) 2 = 1011 1101 . 0001 111 0 (Ang naka-bold na 0 ay idinaragdag pagkatapos ng 111 dahil ang 111 ay pagkatapos ng radix point) = BD 1 E = (10111101.0001111) 2 = (BD.1E) 16
1.pangkahalatang ideya
Kadalasan kailangan nating harapin ang binary data. Halimbawa, ang data mula sa network o ang header ng isang image file ay nasa binary na format. Kung ipi-print namin iyon sa stdout, nagpapakita ito ng ilang magulo na mga character, na napakahirap maunawaan. Sa isang naunang tutorial, nakita namin kung paano gumawa ng hex dump ng isang file. Sa tutorial na ito, makikita natin ang iba’t ibang paraan upang i-convert ang binary data sa hexadecimal na format.
2. Pag-sample ng Binary Data
Ang mga file ng imahe ay isang mahusay na mapagkukunan para sa binary data. Halimbawa, ang metadata ng imahe ay naka-imbak sa header ng file sa isang binary na format. Subukan natin ang mga nilalaman ng isang header ng file ng imahe:
$ head -c 8 Image1.png �PNG
Dito, ginamit namin ang head command para basahin ang unang walong byte mula sa file. At makikita natin na hindi nito nai-print nang maayos ang data. Gayunpaman, sa Linux, mayroon kaming iba’t ibang mga tool upang i-convert ang binary data sa hexadecimal para sa mas madaling pagbabasa. Tingnan natin ang ilan sa kanila.
3. Gamit ang hexdump Command
Ang hexdump command ay ang unang command na naiisip kapag nag-convert kami ng binary data sa hexadecimal na format. Nakakatulong ito sa amin na i-print ang resulta sa iba’t ibang paraan. Tingnan natin ang isang halimbawa:
$ head -c 8 ~/Pictures/Image1.png | hexdump 0000000 5089 474e 0a0d 0a1a 0000008
Pagkatapos i-extract ang mga byte mula sa isang image file, na-pipe namin ito sa hexdump command. At nai-print nito nang tama ang mga halaga ng hexadecimal. Ginamit namin ang hexdump command nang walang anumang mga opsyon.
3.1. I-print ang mga Halaga ng ASCII
Karaniwan, gusto naming makita ang halaga ng ASCII ng bawat byte. Sa pagkakaroon ng magkatabi, madali nating makikilala ang mga nilalaman. Tingnan natin kung paano natin ito magagawa:
$ head -c 8 ~/Pictures/Image1.png | hexdump -C 00000000 89 50 4e 47 0d 0a 1a 0a |.PNG....| 00000008
Ginamit namin ang -C na opsyon upang i-print ang mga halaga ng ASCII. Mula sa mga halaga ng ASCII, mabilis naming matutukoy ito bilang PNG file.
3.2. Pag-format ng Output
Ang hexdump command ay nagbibigay ng isang -e na opsyon, na maaaring magamit upang i-format ang output sa iba’t ibang paraan ayon sa kailangan natin . Una, magsimula tayo sa pamamagitan ng pag-print lamang ng mga hexadecimal na halaga:
$ head -c 8 ~/Pictures/Image1.png | hexdump -e '8/1 "%02X " "\n"' 89 50 4E 47 0D 0A 1A 0A
Dito, nagpasa kami ng format na string kasama ang -e na opsyon. Tingnan natin ang iba’t ibang mga parameter dito:
- 8/1 : nagpi-print ng 8 byte sa isang linya at 1 byte sa isang pagkakataon
- ‘%02X ‘ : nagpi-print sa hexadecimal na format na may dalawang digit na may mga nangungunang zero
- \n : nagpi-print ng bagong linya bilang isang separator sa dulo
Pangalawa, magdagdag tayo ng field ng address para dito:
$ head -c 8 ~/Pictures/Image1.png | hexdump -e '"%04_ax -> " 4/1 "%02X " "\n"' 0000 -> 89 50 4E 47 0004 -> 0D 0A 1A 0A
Ginamit namin ang opsyong _ax upang idagdag ang field ng address. Ang prefixing %04 dito, tinukoy namin ang lapad ng field na iyon upang maging 4 na digit na may mga nangungunang zero. Sa wakas, ginamit namin ang -> simbolo bilang isang separator. Panghuli, tingnan natin kung paano natin maidaragdag ang format na ASCII:
$ head -c 8 ~/Pictures/Image1.png | hexdump -e '"%04_ax -> " 4/1 "%02X "' -e '" |" 4/1 " %_p" " |\n"' 0000 -> 89 50 4E 47 | . P N G | 0004 -> 0D 0A 1A 0A | . . . . |
Dito, gumamit kami ng pangalawang -e na opsyon para i-print ang ASCII na format. Ginamit namin ang opsyong _p upang i-print ang mga halaga ng ASCII. Gayundin, ginamit namin ang | simbolo bilang separator.
4. Gamit ang xxd Command
Ang xxd command ay lumilikha ng hex dump mula sa anumang binary data. Nakakatulong din itong i-format ang output sa paraang gusto natin. Tignan natin:
$ head -c 8 Image1.png | xxd 00000000: 8950 4e47 0d0a 1a0a .PNG....
Dito, binabasa namin ang binary data mula sa file ng imahe. Pagkatapos ay ipinasa iyon sa xxd command. Ginamit namin ang xxd nang walang anumang mga pagpipilian. At na-print nito ang binary data sa hex at ASCII na format.
4.1. Pag-format ng Output
Maaaring hindi ang default na output ang palagi nating kailangan. Kaya, tingnan natin ang ilan sa mga opsyon sa pag-format. -g 1 ay ginagamit sa pangkat sa pamamagitan ng 1 byte. Magagamit din natin ang -c 8 para magkaroon ng 8 column bawat linya:
$ head -c 8 ~/Pictures/Image1.png | xxd -g 1 -c 8 00000000: 89 50 4e 47 0d 0a 1a 0a .PNG....
Sa wakas, gamit ang -ps, nakakakuha kami ng mga simpleng halaga ng hex:
$ head -c 8 ~/Pictures/Image1.png | xxd -ps 89504e470d0a1a0a
At -i ay ginagamit sa pag-print sa C, kabilang ang estilo ng file. Malaking tulong ang pagsisimula ng mga variable sa C gamit ang binary data:
$ head -c 8 ~/Pictures/Image1.png | xxd -i 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a
5. Gamit ang od Command
Susunod, titingnan natin ang od command, karaniwang ginagamit para sa pag-convert sa pagitan ng iba’t ibang mga format. Bilang default, ibinabagsak nito ang mga resulta sa octal na format. Gayunpaman, may mga pagpipilian upang i-print ang resulta sa hexadecimal na format. Tingnan natin iyon:
$ head -c 8 ~/Pictures/Image1.png | od -x 0000000 5089 474e 0a0d 0a1a 0000010
Dito, pagkatapos basahin ang file, ginamit namin ang od command na may opsyong -x . Bilang resulta, ini-print nito ang data sa hexadecimal na format. Bilang default, ang opsyong ito ay magpi-print ng 2 byte sa lapad. Ngunit, kung gusto naming mag-print ng isang byte sa isang pagkakataon, maaari naming gamitin ang -t na opsyon. Suriin natin iyon:
$ head -c 8 ~/Pictures/Image1.png | od -t x1 0000000 89 50 4e 47 0d 0a 1a 0a 0000010
-t x1 format ang output sa hexadecimal form na may 1 byte sa isang pagkakataon.
6. Konklusyon
Sa tutorial na ito, nakakita kami ng iba’t ibang paraan ng pag-convert ng binary data sa hexadecimal na format. Sa mga utos na ito, may kumpiyansa tayong haharapin ang binary data. Kung mayroon kang ilang taong karanasan sa Linux ecosystem, at interesado kang ibahagi ang karanasang iyon sa komunidad, tingnan ang aming Mga Alituntunin sa Kontribusyon .
- Paano matuklasan ang iyong layunin at matupad ang iyong kapalaran
- Paano baligtarin ang asukal
- Paano punan ang isang rsvp ng kasal
- Paano magdagdag at mag-customize ng mga widget sa home screen ng iPad
- Paano ipagtanggol laban sa pampublikong pagsisiwalat ng mga pribadong paghahabol sa katotohanan