Kabanata 3: Mga Operasyon ng Binary Number sa Microprocessor

Kabanata 3 Mga Operasyon Ng Binary Number Sa Microprocessor



Kabanata 3: Mga Operasyon ng Binary Number sa Microprocessor

3.1 Panimula

Sa isang computer, ang mga pagpapatakbo ng arithmetic ay ginagawa sa 8 bits, 16 bits, 32 bits, o 64 bits. Ang isang numero tulad ng 3 sa binary ay 11. Kung ang operasyon ay gagawin sa 8 bits, ito ay itinuturing na 00000011; nauuna ito ng 0 zero.







Para sa isang binary na numero tulad ng 10000101, ang pinaka makabuluhang bit ay ang bit sa dulong kaliwa. Ito ay 1 sa kasong ito. Ang hindi bababa sa makabuluhang bit ay ang extreme bit sa kanan, na 1 pa rin, para sa numero. Ang pinaka makabuluhang bit ay dinaglat bilang MSB. Ang hindi bababa sa makabuluhang bit ay dinaglat bilang LSB.



Ang BInary digiT ay dinaglat bilang BIT at isinusulat lamang bilang bit. Sa numerong 10010011, ang bawat isa o zero ay medyo. Ang isang pangkat ng apat na piraso ay tinatawag na isang nibble. Ang isang pangkat ng walong bits ay tinatawag na byte. Ang isang byte ay binubuo ng dalawang nibbles. Ang mas mababang nibble ay ang nibble para sa LSB at ang mas mataas na nibble ay ang nibble para sa MSB.



Ang isang pangkat ng 8 bits, 16 bits, 32 bits, o 64 bits ay tinatawag na isang salita, hangga't ang pangkat na iyon ay naghahatid ng impormasyon higit pa sa pagpahiwatig ng isang numero. Ang grupo ay tinatawag na isang salita, halimbawa, kung ito ay isang mababang antas ng pagtuturo sa computer. Mayroon ding isang salita ng 24 bits, ngunit iyon ay hindi karaniwang ginagamit ngayon.





Ang Endianness ay tumutukoy sa pagkakasunud-sunod kung saan ang mga byte ay bumubuo ng isang salita. Isaalang-alang ang 24-bit na salita – 100100001111010100100010. Ang salitang ito ay binubuo ng tatlong byte na:

10010000 11110101 00100010



Ang pinaka makabuluhang byte ay ang kaliwang pinaka byte. Kapag ang byte sa extreme left ay ang pinaka makabuluhang byte at ang byte sa extreme right ay ang least significant byte, ito ay tinutukoy bilang Big Endian na representasyon ng salita. Ang representasyon ng Little Endian ay kabaligtaran.

Ang memorya ng computer ay isang serye ng mga cell, at ang bawat cell ay mayroong isang byte. Ang unang cell sa memorya ng computer ay para sa byte 0, ang pangalawa ay para sa byte 1, ang pangatlo ay para sa byte 2, at iba pa. Sa malaking endianness at para sa nakaraang salita, ang pinaka makabuluhang byte ay naka-imbak sa byte 0 cell, ang gitnang byte ay naka-imbak sa byte 1 cell, at ang hindi bababa sa makabuluhang byte ay naka-imbak sa byte 2 cell. Nangangahulugan ito na mayroong mas makabuluhang byte sa mas mababang memory cell.

Ang nakaraang 24-bit na salita ay maaaring isulat sa reverse order ng mga byte tulad ng sumusunod:

00100010 11110101 10010000

Ngayon, ang hindi bababa sa makabuluhang byte ay nasa matinding kaliwa at ang pinaka makabuluhang byte ay nasa pinakakanan. Kapag ang byte sa extreme left ay ang hindi bababa sa makabuluhang byte at ang byte sa extreme right ay ang pinaka makabuluhang byte, ito ay ang Little Endian na representasyon ng salita. Sa maliit na endianness at para sa nakaraang salita, ang hindi bababa sa makabuluhang byte ay naka-imbak sa byte 0 cell, ang gitnang byte ay naka-imbak sa byte 1 cell, at ang pinaka makabuluhang byte ay naka-imbak sa byte 2 cell. Nangangahulugan ito na mayroong hindi gaanong makabuluhang byte sa mas mababang memory cell.

Ang Endianness ay hindi ginagamit para sa mga bit sa isang byte. Hindi rin ito ginagamit para sa mga nibbles sa isang byte. Ito ay ginagamit lamang para sa byte order.

Ang Linya ng Numero
Ang isang numero na walang palatandaan ay isang positibong numero. Ang mga positibong numero ay mga numero mula sa zero na pataas. Mayroon ding mga negatibong numero. Ang mga positibo at negatibong numero ay maaaring ipakita sa isang linya ng numero. Ang sumusunod na linya ng numero ay nagpapakita ng positibo at negatibong mga buong numero (mga integer) na malapit sa zero:

Bumababa ang mga negatibong numero mula sa zero pababa (pakaliwa). Sa maraming sitwasyon, ang zero ay itinuturing na positibo. Gayunpaman, ito ay itinuturing na negatibo sa ilang mga sitwasyon. Iyon ang dahilan kung bakit mayroong plus at minus sign sa harap ng zero, sa mas mababang pagnunumero, sa diagram. Kapag positibo ang isang numero, maaaring tanggalin ang palatandaan nito; ito ang kaso para sa itaas na pagnunumero sa diagram. Ang minus sign sa harap ng isang negatibong numero ay hindi kailanman tinanggal.

3.2 Pagdaragdag ng Binary Numbers

Sa karagdagan:

A + B = S

Ang A ay tinatawag na augend, ang B ay tinatawag na addend, at ang S ay tinatawag na kabuuan.

Isaalang-alang ang sumusunod na pagdaragdag ng dalawang positibong numero sa base two:

Sa base two, ang tanging posibleng digit ay 0 at 1. Ang pagdaragdag sa base 2 ay katulad ng karagdagan sa base ten, ngunit dalawa sa base two ay one-zero (10). Kapag ang kabuuan ng dalawang bits sa isang column ay 10, 0 ang nakasulat at 1 ay dinadala sa agarang kaliwang column; na idaragdag sa kabuuan ng dalawang bit doon. Kapag ang kabuuang kabuuan ay tatlo, nangangahulugan ito ng 11 sa base two. Ang kanang 1 sa 11 ay nakasulat at ang kaliwang 1 ay dinadala upang idagdag sa kabuuan ng mga kagyat na kaliwang column bits. Sa alinmang kaso, ang 1 na dinala pakaliwa ay tinatawag na carry.

Ang pagbabasa ng nakaraang talahanayan ng karagdagan mula sa kanan, sa ikalawang hanay (mula sa kanan), mayroong isang carry na nagreresulta mula sa 1+1 = 10. Sa ikatlong hanay, mayroong isang carry na nagreresulta mula sa 1+1+ na carry ng 1 = 11. Sa ikaapat na hanay, mayroong isang carry na nagreresulta mula sa 0+1+ carry ng 1 = 10. Sa ikalimang hanay, walang carry dahil ang summation ay 0+0+ carry ng 1 = 1. Ang ang natitirang mga haligi ay hindi nagsasangkot ng pagdadala.

Nagsisimula ang pagbilang ng column sa kanang dulo. Sa 16-bit na karagdagan, maaaring magkaroon ng carry mula sa ikawalong column hanggang sa ikasiyam na column (gumagalaw pakaliwa). Ang sumusunod na talahanayan ay naglalarawan nito:

Nagaganap ang mga operasyon ng aritmetika at lohika sa microprocessor sa motherboard ng computer.

Para sa isang 8-bit na word computer, ang carry ay hindi maaaring pumunta mula sa ikawalong bit hanggang sa ika-siyam na bit nang awtomatiko sa pamamagitan ng hardware. Kaya, upang magdagdag ng dalawang 16-bit na grupo sa naturang computer, ang karagdagan ay kailangang gawin nang dalawang beses sa walong-walong bit na mga pares. Ang carry ay inilipat at pinapagana ng software (programming).

Upang magdagdag ng dalawang numero, ang mga numero ay maaaring i-convert muna sa kanilang dalawa na complement form (tingnan sa ibaba) bago idagdag.

3.3 Two's Complement at Ang Pagbabawas Nito sa Binary Numbers

Sa motherboard ng computer, mayroong memory at mayroong microprocessor at iba pang mga circuit. Ang memorya ay isang serye ng walong-bit na mga cell. Para sa isang byte, ang bawat bit ay napupunta sa isang cell. Ang microprocessor ay may ilang mga lokasyon ng uri ng memorya. Ang mga lokasyong ito ng uri ng memorya ay tinatawag na mga rehistro. Kaya, sa computer, ang mga grupo ng mga byte ay maaaring pansamantalang maimbak sa memorya o sa mga rehistro ng microprocessor.

Sa alinman sa mga storage na ito, ang bawat cell ay maaaring tumagal ng alinman sa 1 o 0, at wala nang iba pa. Sa buhay, mayroong positibo at negatibong mga numero. Ang isang positibong numero ay nagsisimula sa isang plus sign (+) at isang negatibong numero ay nagsisimula sa isang negatibong sign (-). Kapag ang tanda ay tinanggal, ang numero ay itinuturing bilang isang positibong numero.

Upang malutas ang problemang ito ng pagpahiwatig ng tanda ng isang numero sa computer, ang mga buong numero ay naka-imbak sa mga saklaw. Ang mga buong numero ay mga integer. Kung ang walong bits ay ginagamit upang mag-imbak ng hanay ng mga posibleng numero, ang pinakakaliwang bit ay ginagamit bilang sign bit. Kung ang numero ay nagsisimula sa 0, ang numero ay isang positibong numero. Kung ito ay nagsisimula sa 1, ang numero ay isang negatibong numero. Kung labing-anim na bits ang ginagamit upang mag-imbak ng hanay ng mga posibleng numero, ang pinakakaliwang bit ay ginagamit bilang sign bit. Kung ang numero ay nagsisimula sa 0, t ang numero ay isang positibong numero. Kung ito ay nagsisimula sa 1, ang numero ay isang negatibong numero. Ang mga numero sa form na ito ay tinatawag na mga sign na numero.

Sa pagsasagawa, maaaring may mga naka-sign na numero para sa 8 bits, 16 bits, 32 bits, at 64 bits. Ang mas malawak na bilang ng mga bit ay ginagamit, mas malaki ang hanay ng mga posibleng numero na maaaring maimbak.

Two's Complement Integers
Sa two's complement, ang mga positibong numero ay ang normal na pagbibilang ng mga numero, maliban na ang pinakakaliwang digit ay 0. Upang makuha ang katumbas na negatibong numero para sa anumang naibigay na positibong numero, baligtarin ang bawat bit sa numero at magdagdag ng 1 sa resulta. Ang invert o complement ng 0 ay 1. Ang invert o complement ng 1 ay 0. Ang mga sumusunod na talahanayan ay nagpapakita ng ilang dalawang complement number sa kanilang mga hanay:

Talahanayan 3.31
Two's Complement Integers sa Dalawang Bits
Binary Decimal
01 +1
00 +0
labing-isa -1
10 -2

Ang mga positibong binary na numero ay 00 at 01 (iyon ay zero at isa). Sa pinakakaliwang bahagi, ang zero ay nagpapakita na sila ay mga positibong numero. 00 ay medyo nasa gitna ng hanay. Upang makakuha ng -1, ang baligtad ng numerong 01 ay makikitang 10. Ang pagdaragdag ng 1 dito (sa dulong kanan) ay magbibigay ng 11.

Dahil dalawang bit ang ginagamit, isang bit na lang ang natitira upang kumatawan sa mga numero sa hanay na binubuo ng mga numerong +1, +0, at -1 na tumutugma sa 01, 00, at 11. Ang unang bit ay nagpapahiwatig ng tanda. Nangyayari na ang 10 para sa +2 ay wala sa tatlong binary na numerong ito. Ang 10 ay nagsisimula sa 1 na nangangahulugang ito ay dapat na isang negatibong numero sa dalawa. Kaya, 10 ay kasama sa hanay, sa ibig sabihin -2.

Sa dalawang bits sa dalawang complement, ang bilang ng lahat ng integer (positibo at negatibo) na maaaring katawanin ay 2 2 = 4 at hindi 2 2 -1 = 3. Ang nuance ay nagreresulta mula sa pagsasama ng huling negatibong numero na negatibo ng 2 numberwith – 1. Sa kasong ito, -2 2-1 = -2 1 = -2. Walang +2 sa hanay ng dalawang complement number sa 2 bits.

Talahanayan 3.32
Two's Complement Integers sa Apat na Bits
Binary Decimal
0111 +7
0110 +6
0101 +5
0100 +4
0011 +3
0010 +2
0001 +1
0000 +0
1111 -1
1110 1110
1101 -3
1101 -3
1100 -4
1011 -5
1010 -6
1001 1001
1000 -8

Ang mga positibong binary na numero ay mula 0000 hanggang 0111 (iyon ay mula sa zero hanggang pito). Sa pinakakaliwang bahagi, ang zero ay nagpapakita na sila ay mga positibong numero. Ang 0000 ay medyo nasa gitna ng hanay. Upang makuha ang -1, ang invert ng numerong 0001 ay makikita na 1110. Ang pagdaragdag ng 1 dito (sa pinakadulo kanan) ay nagbibigay ng 1111. Upang makuha ang -2, ang invert ng 0010 ay makikita na 1101. Ang pagdaragdag ng 1 dito ( mula sa matinding kanan) ay nagbibigay ng 1110. Ang iba pang negatibong binary na mga numero tulad ng -3 hanggang -7 ay katulad na tinutukoy.

Dahil apat na bits ang ginagamit, tatlong bits ang natitira upang kumatawan sa mga numero sa hanay na +7, +6, +5, +4, +3, +2, +1, +0, -1, -2, - 3, -4, -5, -6 at -7 na katumbas ng 0111, 0110, 0101, 0100, 0011, 0010, 0001, 0000, 1111, 1110, 1101, 1100, 10101, at 1.

Ang -8 na tumutugma sa 1000 ay kailangang tugunan nang hiwalay. Ang unang bit para sa lahat ng mga numerong ito ay nagpapahiwatig ng tanda ng 0 para sa mga positibong numero at 1 para sa mga negatibong numero. Nangyayari na ang 1000 ay wala sa labing-apat na binary na numerong ito. Ang 1000 ay nagsisimula sa 1 na nangangahulugan na ito ay dapat na isang negatibong numero, sa abot ng pag-aalala ng dalawa. Kaya, 1000 ay kasama sa hanay, sa ibig sabihin -8.

Sa apat na bits sa two's complement, ang bilang ng lahat ng integer (positibo at negatibo) na maaaring katawanin ay 2 4 = 16 at hindi 2 4 – 1 = 15. Ang nuance ay nagreresulta mula sa pagsasama ng huling negatibong numero na negatibo ng 2 numberWidth – 1. Sa kasong ito, -2 4 -1 = -2 3 = -8. Walang +8 sa hanay ng mga numero.

Ang nakaraang pagsusuri para sa dalawa, apat, at mas malawak na mga bit sa two's complement ay maaaring ilapat sa 8 bits, 16 bits, 32 bits, at 64 bits wide binary na numero.

Isinasakripisyo ng complement ng Two ang una (pinakakaliwa) bit para sa sign na 0 para sa positibong numero at 1 para sa negatibong numero. Para sa “n” bit wide group of bits, mayroong 2 n kabuuang positibo at negatibong numero. Ito ay magiging 2 n -1, kung hindi dahil sa maswerteng huling (pinakamaliit) negatibong numero na kasama. Ang pinakamataas na positibong numero ay +2 n-1 -1 at ang pinakamaliit na negatibong numero ay -2 n-1 -1. Ito ay magiging -2 n-1 -1, kung hindi para sa mapalad -2 n-1 kasama.

Pagbabawas ng mga Numero sa Two's Complement
Sa pagbabawas:

A – B = D

Ang A ay tinatawag na minuend, ang B ay tinatawag na subtrahend, at ang D ay tinatawag na pagkakaiba.

Upang ibawas ang isang positibong binary na numero mula sa isa pang positibong binary na numero, ang minuend ay isinusulat sa two's complement at ang subtrahend ay iko-convert sa negatibong two's complement value nito. Kaya, ang mathematical statement ay nagiging:

A+ – B = D

Sa madaling salita, sa two's complement subtraction, ang subtrahend ay kino-convert sa isang negatibong numero at pagkatapos ay idinagdag sa minuend.

Halimbawa 3.31:
Suriin ang sumusunod na decimal expression sa two's complement gamit ang apat na bits:

6 – 4

Solusyon:
Ang binary number para sa 6 ay 110. Sa 4-bit two's complement, ito ay 0110. Ang binary number para sa +4 ay 100. Sa 4-bit two's complement, ito ay 0100. 0100 na kailangang i-convert sa negatibong 4 sa two's complement gaya ng sumusunod: Ang complement o inversion ng 0100 ay 1011. Ang pagdaragdag ng 1 dito mula sa kanang dulo, tulad ng ginawa namin sa karagdagan, ay nagbibigay ng 1100. Kaya, ang decimal expression ay:

6 – 4 na nagiging:

0110 – 0100 which is

0110 +(– 0100) = 0110 + 1100 ginawa tulad ng sa nakaraang seksyon ng karagdagan bilang:

Tandaan: Ang 0110 +(– 0100) ay kapareho ng 6 + – 4

Sa pagbabawas ng complement ng dalawa, ang anumang carry, pagkatapos ng huling column sa kaliwa, sa karagdagan, ay itatapon. Kapag ang pagbabawas sa decimal, ang mathematical statement ay:

6 – 4 = 2

Ang paggawa ng parehong bagay sa two's complement, ang sagot ay 0010 na +2 sa two's complement binary counting. Ang nakaraang pagbabawas ay nagbabawas ng isang mas maliit na numero mula sa isang mas malaking numero. Sa sumusunod na halimbawa, ang isang mas malaking numero ay ibinabawas sa isang mas maliit na numero. Maaaring konsultahin ang Talahanayan 3.32 upang makita kung ang 0010 ay tunay na pandagdag ng dalawa na katumbas ng +2.

Halimbawa 3.32:
Suriin ang sumusunod na decimal na expression sa two's complement na may apat na bits:

4 – 6

Solusyon:
Ang binary number para sa 4 ay 100. Sa 4-bit two's complement, ito ay 0100. Ang binary number para sa +6 ay 110. Sa 4-bit two's complement, ito ay 0110. 0110 ay kailangang i-convert sa negatibong 6 sa two's complement tulad ng sumusunod: Ang complement o inversion ng 0110 ay 1001. Ang pagdaragdag ng 1 dito mula sa kanang dulo, tulad ng ginawa namin sa nakaraang karagdagan, ay nagbibigay ng 1010. Kaya, ang decimal expression ay:

4 – 6 na nagiging:

0100 – 0110 which is

0100 +(– 0110) = 0100 + 1010 ginawa tulad ng sa nakaraang seksyon ng karagdagan bilang:

Tandaan: Ang 4+ – 6 ay kapareho ng 0100 +(– 0110).

Sa pagbabawas ng complement ng dalawa, ang anumang carry, pagkatapos ng huling column sa kaliwa, sa karagdagan, ay itatapon. Kapag ang pagbabawas sa decimal, ang mathematical statement ay:

4 – 6 = -2

Ang paggawa ng parehong bagay sa two's complement, ang sagot ay 1110 na -2 sa two's complement binary counting. Maaaring konsultahin ang Talahanayan 3.32 upang makita kung ang 1110 ay tunay na two's complement na katumbas ng -2.

3.4 Pagpaparami ng Binary Numbers

Sa pahayag:

A x B = P

Ang A ay tinatawag na multiplicand, ang B ay tinatawag na multiplier, at ang P ay tinatawag na produkto. Ang A x B expression ay nangangahulugang magdagdag ng A, B na bilang ng beses kapag ang A at B ay mga integer (buong numero).

Ang multiplikasyon sa binary ay kapareho ng multiplikasyon sa decimal. Gayunpaman, sa halip na gawin ito sa decimal, ito ay ginagawa sa binary. Ang multiplikasyon ng decimal na expression ng 42 x 10 ay ginagawa sa binary tulad ng sumusunod kung saan 42 10 = 101010 2 at 10 10 = 1010 2 :

Ang 4 na numero na idinagdag ay tinatawag na mga bahagyang produkto. Ang sagot ay ang produkto. Ang pagdaragdag ng mga bahagyang produkto ay ginagawa sa parehong paraan tulad ng ipinaliwanag dati.

Ang multiplikasyon ay makikita rin tulad ng sumusunod: Sa base na ito ng dalawang multiplikasyon, kung ang bit (digit) sa multiplier ay 1, ang least significant bit ng partial product nito ay ang least significant bit ng multiplicand na direktang na-type sa ilalim nito; at ang natitirang mga piraso ng multiplicand ay inuulit pakaliwa. Sa base na ito ng dalawang multiplikasyon, kung ang bit (digit) sa multiplier ay 0, ang bahagyang produkto nito ay binubuo ng 0 na may pinakamaliit na makabuluhang bit ng 0 na direkta sa ilalim nito. Ang bilang ng lahat ng mga zero ay ang bilang ng mga bit sa multiplicand.

3.5 Dibisyon ng Binary Numbers

Sa pahayag:

A ÷ B = Q

Ang A ay tinatawag na Dividend, ang B ay tinatawag na Divisor, at ang P ay tinatawag na Quotient. Ang quotient ay maaaring sinamahan ng isang natitira. Ang A ÷ B expression ay nangangahulugan kung gaano karaming beses maaaring idagdag ang B upang bigyan ang A o maging malapit dito upang ang natitira ay 0 o mas mababa sa B.

Ang paghahati ay maaaring gawin sa maraming paraan. Ang dibisyon na ipinapakita dito ay ang dibisyon ng pagpapanumbalik.

Pagpapanumbalik ng Dibisyon
Ito ang long division method na natutunan sa mga paaralan. Kung ang 237 ay hinati sa 6, ang sagot ay 39 na natitira 3. Ang 237 10 sa base 2 ay 11101101 2 at 6 10 sa base 2 ay 110 2 . Ang 39 10 sa base 2 ay 100111 2 at 3 10 sa base 2 ay 11 2 .

Kaya, 11101101 2 hinati sa 110 2 nagbibigay ng 100111 2 natitira 11 2 sa base two. Sa paraan ng pagpapanumbalik, ang mga binary na numero ay mga ordinaryong numero at hindi naman sila ay nasa complement ng dalawa. Ang sumusunod na istraktura ay naghahati sa 11101101 2 sa pamamagitan ng 110 2 magbigay ng 100111 2 natitira 11 2 :

Karaniwang ginagawa ang pagbabawas at hindi sa paggamit ng complement ng dalawa. Dahil ito ay base two, ang isang hiram ay dalawa at hindi sampu. Ang mga bahagyang dibidendo ay 10, 101, 1011, 1010, at 1001. 11 ang natitira. Dahil ang divisor ay may tatlong digit, ang paghahati ay karaniwang ginagawa sa mga pangkat ng tatlong digit mula sa ibinigay na dibidendo. Ang quotient ay ang buong numero (integer), at ito ay 100111 para sa problemang ito. Ang quotient at natitirang resulta ay tulad ng inaasahan.

3.6 Arithmetic Operations na may Software at Hardware

Ang motherboard ng computer ay may orasan. Ang mga ticks ng orasan ay tinatawag na pulses. Sa bawat pulso ng orasan, isa o higit pang mga desisyon ang kinukuha sa iba't ibang lugar sa motherboard; at iyon ay may kinalaman sa programming (software).

Sa loob ng microprocessor, mayroong dalawang uri ng mga circuit na tinatawag na: Combinational Logic Circuits at Sequential Logic Circuits. May isa pang uri ng circuit na tinatawag na multiplexer. Ang pagdaragdag, pagpaparami, at paghahati ay maaaring maganap sa loob ng isang agwat ng orasan gamit ang kumbinasyonal na lohika (circuit). Habang ang programming (software) ay gumagawa ng desisyon sa bawat pulso ng orasan gamit ang sequential logic circuit at multiplexer.

Kapag ang pagbabawas ay ginawa gamit ang two's complement, hindi bababa sa dalawang clock pulse ang kinakailangan. Sa unang pulso ng orasan, idina-channel ng multiplexer ang subtrahend sa isang set ng NOT gate (isang NOT gate bawat digit). Sa pangalawang pulso ng orasan, ang kumbinasyonal na lohika ay nagdaragdag ng 1 sa output ng NOT gate at patuloy na nagdaragdag ng nagresultang subtrahend at minuend. Ang lahat ng karagdagan na iyon ay maaaring maganap sa loob ng isang agwat ng orasan.

Ang pagdaragdag, pagpaparami, at paghahati ay maaari pa ring bumaba sa programming gamit ang mga talahanayan ng katotohanan. Gayunpaman, hindi ito saklaw sa online na kurso sa karera.

3.7 Logic Operations sa Microprocessor

AT, O, XOR, at Baliktarin

AT
Ang sumusunod na talahanayan ay naglalarawan ng Bitwise AT. Nangangahulugan ito na para sa dalawang magkaibang binary na numero, ang mga katumbas na bit ay ANDed batay sa AND Truth table:

Paglipat mula kaliwa pakanan, 1 AT 1 = 1; 0 AT 1 = 0; 0 AT 0 = 0; 1 AT 0 = 0; at iba pa alinsunod sa AND Truth Table.

O
Ang sumusunod na talahanayan ay naglalarawan ng Bitwise OR. Nangangahulugan ito na para sa dalawang magkaibang binary na numero, ang mga katumbas na bit ay ORed batay sa OR Truth table:

Paglipat mula kaliwa pakanan, 1 O 1 = 1; 0 O 1 = 1; 0 O 0 = 0; 1 O 0 = 1; at iba pa alinsunod sa OR Truth Table.

LIBRE
Inilalarawan ng sumusunod na talahanayan ang Bitwise exclusive-OR. Nangangahulugan ito na para sa dalawang magkaibang binary na numero, ang mga katumbas na bit ay XORed batay sa talahanayan ng XOR Truth:

Paglipat mula kaliwa pakanan, 1 XOR 1 = 0; 0 XOR 1 = 1; 0 XOR 0 = 0; 1 XOR 0 = 1; at iba pa alinsunod sa XOR Truth Table.

Baliktarin (HINDI)
Ang sumusunod na talahanayan ay naglalarawan ng Bitwise NOT (invert). Nangangahulugan ito na para sa isang binary na numero, sa pagkakataong ito, ang bawat bit ay baligtad batay sa NOT Truth Table:

Paglipat mula kaliwa pakanan, HINDI 1 = 0; HINDI 0 = 1; HINDI 0 = 1; HINDI 1 = 0; at iba pa alinsunod sa NOT Truth Table.

Paglipat sa Kanan o Kaliwa

Lumipat Pakanan
Ang sumusunod na binary number ay inilipat sa 3 bit na mga posisyon sa kanan, kasama ang mga zero na ipinasok sa mga bakanteng bit na posisyon sa kaliwa:

Ang paglilipat ay maaaring gawin para sa isa, dalawa, tatlo, apat, atbp.

Lumipat Pakaliwa
Ang sumusunod na binary na numero ay inilipat sa 3 bit na posisyon sa kaliwa, kasama ang mga zero na ipinasok sa mga bakanteng posisyon ng bit sa kanan:

Ang paglilipat ay maaaring gawin para sa isa, dalawa, tatlo, apat, atbp.

Umiikot sa Kanan o Kaliwa

Ang pag-ikot ay katulad ng paglilipat. Ginagawa ito nang paisa-isa. Kapag umiikot sa kanan, ang mga piraso na umalis sa kanang dulo ay hindi nahuhulog tulad ng sa paglilipat; pinapalitan nila ang mga bakanteng piraso sa kaliwa, isa-isa. Kapag umiikot sa kaliwa, ang mga piraso na umalis sa kaliwang dulo ay hindi nahuhulog tulad ng sa paglilipat; pinapalitan nila ang mga bakanteng piraso sa kanan, isa-isa.

Iikot pa puntang kanan
Ang sumusunod na binary number ay pinaikot ng 3 bit na posisyon sa kanan:

Ang pag-ikot ay maaaring gawin para sa isa, dalawa, tatlo, apat, atbp.

Rorate Kaliwa
Ang sumusunod na binary number ay pinaikot ng 3 bit na posisyon sa kaliwa:

Ang pag-ikot ay maaaring gawin para sa isa, dalawa, tatlo, apat, atbp.

3.8 ASCII Character Set at Mga Halaga ng Code Nito

Ang ASCII ay nangangahulugang 'American (U.S.A) Standard Code for Information Interchange'. Isipin ang isang keyboard na may 96 na key. Ito ay isang mainam na keyboard kung saan ang mga malalaking titik na key ay iba sa mga maliliit na titik na mga key. Ang bawat iba pang key ay kumakatawan sa isang character na makikita sa isang English (U.S.A) na keyboard. Ang mga character at code (mga kaukulang numero para sa mga character) ay nakalista sa mga sumusunod:

Sa talahanayang ito, ang unang 32 character (kabilang ang character na may 00 16 = 0 10 code) ay mga hindi naka-print na character. Sila ay mga control character. Hindi sila nakikita sa screen (monitor) kung saan pantay-pantay ang lahat. Mayroon lamang silang mga epekto. Pag-usapan natin ang higit pa tungkol diyan mamaya.

Ang natitira sa mga character ay nagpi-print ng mga character; makikita sila sa screen. Mayroong 128 ASCII na character. 2 7 = 128. 1,111,111 2 = 127 10 . Ang 7 sa 2 7 nangangahulugang 7 bits.

Ngayon, 1111111 2 + 1 2 ay kapareho ng:

Dito, 10,000,000 2 = 128 10 . Mayroong 128 10 mga character sa nakaraang listahan (talahanayan) ng mga ASCII na character. Kabilang dito ang null character, na ang code sa base na labing anim (hexadecimal) ay 00, na katumbas ng 0 sa base ten.

Dahil mayroong 128 character sa kabuuan, 128 minus 32 character na hindi naka-print ay nagbibigay ng 96 na character sa pag-print. Sa seksyong ito, ipinapalagay na mayroong perpektong keyboard na may 96 na character na napi-print na mga character. Sa perpektong keyboard na ito, ang mga key para sa mga uppercase na English na character ay iba sa mga key ng lowercase na English na character.

Ang bawat character sa keyboard ay kinakatawan ng isang base two number ng 7 bits na hindi ipinapakita sa listahan. Ang malaking titik ng 'N', halimbawa, ay kinakatawan ng pitong bits 1001110 sa base 2. Upang i-convert ang 1001110 2 sa base 16, unahan ito ng 0 at pangkatin ang resulta sa apat na bit na subgroup tulad ng sumusunod:

| 0100 | 1110 | 2 = | 4 | E | 16

Iyon ay 01001110 2 = 4E 16 . Upang i-convert ang 4E 16 sa base sampu, gawin ang sumusunod:

4 x (16) 1 + E x (16) 0 = 4 x 16 + E x 1 = 4 x 16 + 14 x 1 = 64 + 14 = 78 10

Sa kanan ng 'N' sa listahan (talahanayan) ay ang hexadecimal na numero ng 4E at ang decimal na numero ng 78.

Bilang isa pang halimbawa, ang “[“ character ay kinakatawan ng pitong bits 1011011 sa base 2. Upang i-convert ang 1011011 2 sa base 16, unahan ito ng 0 at pangkatin ang resulta sa apat na bit na subgroup tulad ng sumusunod:

| 0101 | 1011 | 2 = | 5 | B | 16

Iyon ay 01011011 2 = 5B 16 . Upang i-convert ang 5B16 sa base sampu, gawin ang sumusunod:

5 x (16) 1 + B x (16) 0 = 5 x 16 + B x 1 = 5 x 16 + 11 x 1 = 80 + 11 = 91 10

Sa kanan ng “[“ sa listahan (talahanayan) ay ang hexadecimal na numero ng 5B at ang decimal na numero ng 91.

Bilang isa pang halimbawa, ang character para sa decimal na numero ng '5' ay kinakatawan ng pitong bits 0110101 sa base 2, at hindi 0000101 sa base 2. Upang i-convert ang 0110101 2 sa base 16, unahan ito ng 0 at pangkatin ang resulta sa apat na bit na subgroup tulad ng sumusunod:

| 0011 | 0101 | 2 = | 5 | B | 16

Iyon ay 00110101 2 = 35 16 . Upang i-convert ang 3516 sa base ten, gawin ang sumusunod:

3 x (16) 1 + 5 x (16) 0 = 3 x 16 + 5 x 1 = 3 x 16 + 5 x 1 = 48 + 5 = 53 10

Sa kanan ng '5' sa listahan (talahanayan) ay ang hexadecimal na numero ng 35 at ang decimal na numero ng 53.

Dahil gumagana ang computer sa mga byte, kapag pinindot ang isang key sa perpektong keyboard, walong bits ang ipinapadala sa microprocessor (motherboard). Ang perpektong keyboard ay isang peripheral na nakahiwalay sa system (base) unit ng computer. Mayroon itong electronic circuit (IC) na lumilikha ng pitong bits at nauuna ito ng zero bago ito ipadala sa pamamagitan ng cable nito sa motherboard ng system unit. Mula sa input port (input circuit) ng motherboard, papunta ito sa microprocessor na nasa motherboard din. Mula sa microprocessor, napupunta ito sa memorya na nilagyan din sa motherboard.

Kaya, kapag pinindot ang 'N' key sa perpektong keyboard, walong bits 01001110 ang dadalhin sa microprocessor. Mula sa microprocessor, dinadala sila sa memorya kung saan nananatili sila sa isang lokasyon ng memorya bilang isang byte. Dapat tandaan ng computer programmer na ang walong bits ng 01001110 2 ay kapareho ng 4E 16 na kapareho ng 78 10 .

Kapag pinindot ang “[“key sa perpektong keyboard, walong bits 01011011 ang dadalhin sa microprocessor. Mula sa microprocessor, dinadala sila sa memorya kung saan nananatili sila sa isang lokasyon ng memorya bilang isang byte. Dapat tandaan ng computer programmer na ang walong bits ng 01011011 2 ay kapareho ng 5B 16 na kapareho ng 91 10 .

Kapag pinindot ang '5' key sa perpektong keyboard, bilang isang character at hindi bilang decimal na numero, ang walong bits 00110101 ay dadalhin sa microprocessor. Mula sa microprocessor, dinadala sila sa memorya kung saan nananatili sila sa isang lokasyon ng memorya bilang isang byte. Dapat tandaan ng computer programmer na ang walong bits ng 00110101 2 ay kapareho ng 35 16 na kapareho ng 5310 10 .

May mga pagkakataon na ang isang programa ay tumatakbo at naghihintay para sa decimal na numero ng 5 na maipasok sa computer. Sa sitwasyong ito, kung ang '5' na key sa perpektong keyboard ay pinindot, ang walong-bit na code ng 00110101 ay dadalhin pa rin sa microprocessor. Dahil ang kailangan ay ang decimal na numero ng 5, at hindi ang '5' na character, isang piraso ng code (maikling programa) mula sa memorya ang gumagamit ng microprocessor upang i-convert ang character code ng 00110101 sa base two sa complement number ng dalawa na 00000101 2 bago ito ipadala sa isang lokasyon ng memorya bilang complement byte ng dalawa. Dapat tandaan ng computer programmer na ang 00000101 ay nangangahulugang 5 10 sa base 2, at iba ito sa mga code number ng 00110101 2 , 35 16 , at 53 10 na nangangahulugang ang karakter ng '5'. Upang maipakita ang complement number ng dalawa na 00000101 sa memorya, ang isa pang maikling programa ay kailangang i-convert ang 00000101 mula sa memorya sa 00110101. Ito ay 00110101 na kapareho ng 35 16 na kapareho ng 53 10 na ipinapakita sa monitor (o naka-print sa isang papel ng printer).

3.9 Floating Point Number Format

Ang isang numero na walang decimal na bahagi ay isang integer. Ang numero 36 ay isang integer. Ang 36.375 ay hindi isang integer. Ito ay isang decimal na numero na may isang decimal na bahagi. Ang decimal na bahagi ng .375 ay isang fraction na mas mababa sa 1.

Ang 36.375 ay binibigyang kahulugan sa decimal na anyo bilang:

ngayon:

Kaya, 100100 2 = 3610 na siyang buong bilang na bahagi ng 36.375 10 .

ngayon:

Kaya, 0.011 2 = 0.375 10 na bahagi ng decimal na numero ng 36.375 10 .

∴ 36,375 10 = 100100.011 2

Ilagay ito sa ibang paraan:

100100.011 2 = 36,375 10

Ang mga numero ay kinakatawan sa computer sa base 2 at hindi sa base 10, na ang lahat ay pantay. Dahil ang isang cell sa isang rehistro sa microprocessor o isang cell sa memorya ay maaari lamang tumagal ng 1 o 0, walang puwang upang mag-imbak ng isang decimal point. Nagdudulot ito ng problema. Bilang resolution, mayroong IEEE-754 single precision 32-bit floating point representation at ang IEEE-754 double precision 64-bit floating point representation.

32-Bit na Floating Point na Format ng Numero
Ang numerong 100100.0112 ay maaaring ipahayag bilang:

100100.011 2 = 1.00100011 2 x 2 +5

Ang kanang bahagi ng = simbolo ay tinutukoy sa matematika bilang batayang dalawang karaniwang anyo ng kaliwang bahagi ng 100100.011 2 .

Ngayon, 00100011 ng 1.00100011 2 sa kanang bahagi ng = simbolo, nang wala ang naunang “1.” at kung wala ang 2 para sa base, ay tinatawag na tahasang significand. Sa kasong ito, ang binary point ay kinuha limang lugar sa kaliwa upang magkaroon ng '1'. Huwag malito sa pagitan ng decimal point at binary point. Ang binary point ay para sa base 2, habang ang decimal point ay para sa base 10. Ang '1.' na sinusundan ng 00100011 sa kanang bahagi ng = simbolo, nang walang 2 para sa base, ay bumubuo ng tunay na kabuluhan. Gayunpaman, ang 1.00100011 ay tinatawag na implicit significand.

Pagkatapos ng significand sa kanang bahagi ay ang “x 2 +5 ” ekspresyon. Sa expression na ito, ang +5 ay tinatawag na exponent. Ang plus sign ay nangangahulugan na ang binary point ay kailangang ilipat sa limang lugar pasulong upang maging sa normal nitong orihinal na posisyon at ang 2 ay ang base para sa pagnunumero. Ang nakaraang equation ay maaaring isulat sa kabaligtaran bilang:

1.00100011 2 x 2 +5 = 100100.011 2

Gamit ang 32-bit na representasyon ng floating point, ito ay '1.00100011 2 x 2 +5 ” na ginagamit at hindi lang “100100.011 2 ”. Ang 2 para sa base ay hindi naitala. Ang 32-bit na floating point na representasyon para sa '1.00100011 2 x 2 +5 ” na numero, na katumbas ng 36.375 10 = 100100.011 2 , ay ipinapakita sa sumusunod na talahanayan:

Mayroong 32-bit na mga posisyon na binibilang mula sa kanang dulo, simula sa 0. Ang unang bit sa kaliwang dulo ay ang sign bit. Kung positibo ang numero, ang bit na ito ay 0. Kung negatibo ang numero, ang bit na ito ay 1 (-1 ay binubuo ng dalawang character at hindi maaaring ilagay sa alinmang cell). Ang 1.00100011 2 x 2 +5 na katumbas ng 36.375 10 na katumbas din ng 100100.011 2 ay isang positibong numero. Kaya, ang unang bit ay 0.

Mayroong walong bit na posisyon para sa exponent, simula sa posisyon 30 hanggang posisyon 23, kasama. Gayunpaman, ang exponent na nakasulat doon ay 10000100 2 na katumbas ng 132 10 . Ang exponent ng bilang ng interes ay talagang +5 ng base ng dalawa. Kaya, ano ang mangyayari?

Ngayon, sa 32-bit na format, ang isang exponent ng 0 ay nakasulat bilang 01111111 2 na katumbas ng 127 10 . Ang +5 10 ay +101 2 . Kaya, sa pagdating sa 10000100 2 sa bahaging exponent sa talahanayan, 101 2 ay naidagdag sa 01111111 2 , naaayon. Nangangahulugan ito na ang 5 ay idinagdag sa 127 upang magkaroon ng 132 10 .

Ang significand, nang walang '1.', kinuha ang mga posisyon 22 pababa sa 15, kasama. Tandaan na ang 1 ng “1.” ay hindi ipinahiwatig sa 32-bit na string. Ito ay hindi kailanman ipinahiwatig - tanggapin iyon. Ang natitirang mga cell hanggang sa posisyon 0 ay puno ng mga zero.

Kung ang aktwal na exponent ay -5, kung gayon ang 5 ay ibabawas mula sa 127 10 magkaroon ng 122 10 . Ito ay tumutugma sa pagbabawas ng 101 2 mula sa 01111111 2 para magkaroon ng 01111010 2 .

Sa lahat ng nakaraang paglalarawan, ang numerong +1 na katumbas ng 1.0 x 2 0 = 1.0 x 1 = 1.0 ay kinakatawan bilang:

Tandaan na ang '1.' ng 1.0 x 2 0 ay hindi ipinahiwatig sa format. Ito ay hindi kailanman ipinahiwatig. Ang susunod na pinaghalong fraction na positibo pagkatapos ng 1.0 ay:

Pansinin ang 1 sa kanang dulo. Ang representasyong ito ay ang numero:

Ang pagkakaiba sa pagitan ng 1.0000001192092896 at 1.0 ay:

1.0000001192092896 – 1.0 = 0.0000001192092896

Ang mga numero na may mga bahaging desimal ay mga halo-halong fraction. Hindi lahat ng fraction sa pagitan ng 1 10 at 2 10 maaaring irepresenta sa computer. Maaaring ipagpalagay na ang pinakamaliit na fractional gap sa pagitan ng magkakasunod na halo-halong numero na may 32-bit na floating point na format ay 0.0000001192092896. Asahan na ang pagitan para sa dobleng katumpakan ay mas maliit. Sumangguni sa sumusunod na paglalarawan.

Ang kumakatawan sa numero, ang 0.0 ay hindi sumusunod sa mga nakaraang argumento. Ang representasyon para sa 0.0 ay idineklara at kailangang matutunan nang ganoon. Upang kumatawan sa 0.0, ang lahat ng mga cell para sa significand ay 0 at ang lahat ng mga cell para sa exponent ay zero din. Ang sign bit ay maaaring 0 o 1. Sa kasamaang palad, ito ay nagbibigay ng positibong 0 at negatibong 0 tulad ng sumusunod:

Sa totoong buhay, isa lang ang zero. Ang positibong 0 at negatibong 0 ay hindi umiiral. Gayunpaman, ang 0 ay karaniwang itinuturing na positibo. Ang positibong 0 at negatibong 0 ay umiiral dito dahil sa partikular na paglalarawan ng format na ito. Ang linya ng numero (tingnan sa itaas) ay maaari ding magkaroon ng +0 at -0, ngunit isang zero lang ang umiiral.

64-Bit na Format ng Numero ng Floating Point
Ang 64-bit na floating point na format ay katulad ng 32-bit na format, ngunit may mga sumusunod na pagkakaiba:

  • Mayroong 64 bits upang kumatawan sa isang numero.
  • Pagkatapos ng sign bit, mayroong 11 bits para sa exponent number.
  • Ang exponent number para sa zero index (2 0 ) ay 1023 10 = 01111111111 2 .
  • Ang labing-isang bits ay sinusundan ng 52 bits para sa tahasang significand.
  • Ito ay may mas malawak na hanay ng mga numero kaysa sa 32-bit na format.

Tandaan na ang '1.' iyon ay sa simula ng significand ay hindi pa rin kasama sa 64 bits, tulad ng hindi ito kasama sa 32 bits para sa 32-bit na format.

Ang isa sa pinakamahalagang pagkakaiba sa pagitan ng 64-bit na format at ng 32-bit na format ay ang pagkakaiba sa pagitan ng magkakasunod na pinaghalong fraction sa 64-bit na format ay mas maliit kaysa sa 32-bit na format.

Sa 64-bit na format, ang pagitan (gap) sa pagitan ng 1.0 at ang susunod na mixed fraction ay maaaring kalkulahin tulad ng sumusunod:

1.0 ay

0 01111111111 00000000000000000000 00000000000 000000000000000000000 2

Katumbas ito ng '1.', na hindi ipinahiwatig sa string, pinarami ng 2 na itinaas sa power (index) 0 (na ang exponent ay 1023 10 = 01111111111 2 para sa 2 0 = 1). Ang string ay 1.0 x 2 0 .

Ang susunod na mixed fraction na mas malaki sa 1.0 ay:

0 01111111111 00000000000000000000 00000000000 000000000000000000001 2

Ito ay katumbas ng '1.' na hindi ipinahiwatig sa string, na sinusundan ng 51 zero, at pagkatapos ay 1, pinarami ng 2 na itinaas sa power 0 (na ang exponent ay 1023 10 = 011111111112 2 para sa 2 0 = 1). Ito ay kapareho ng:

+2 0 × (1 + 2− -52 ) ≈ 1.0000000000000002

Ang ≈ ay nangangahulugang humigit-kumulang katumbas ng.

ngayon:

1.000000000000002 – 1.0 ≈ 0.0000000000000002

Ang katumbas na halaga ng interval para sa isang 32-bit na format ay 0.0000001192092896 ≈ 0.00000012.

Ang 0.000000000000002 ay mas maliit sa 0.00000012. Kaya, mas marami ang magkahalong fraction sa pagitan ng dalawang magkasunod na integer (hal. 3 at 4) sa 64-bit na format kaysa sa pagitan ng dalawang magkasunod na integer para sa 32-bit na format.

Ang bilang ng mga pinaghalong fraction sa pagitan ng dalawang magkasunod na integer sa linya ng numero ay walang katapusan. Kaya, walang format (hal. 32-bit o 64-bit) ang makakapagbigay ng lahat ng pinaghalong fraction sa pagitan ng alinmang dalawang magkasunod na integer (buong numero). Kung mas maliit ang gap (interval) sa pagitan ng dalawang magkasunod na integer na ibinigay ng isang format (hal. 32-bit o 64-bit), mas malaki ang bilang ng mga mixed fraction sa pagitan ng magkasunod na integer (para sa number line).

Ang mga dahilan kung bakit ang 64-bit na format ay inilarawan bilang doble o mas mataas na katumpakan, kumpara sa 32-bit na format, ay ang agwat sa pagitan ng dalawang magkasunod na pinaghalong fraction na nililimitahan ng dalawang magkasunod na integer para sa 64-bit na format ay mas maliit kaysa sa katumbas na 32 -bit na pagitan ng format. Gayundin, mayroong mas maraming posibleng pinaghalong fraction sa pagitan ng dalawang bounded integer para sa 64-bit na format kaysa sa naaayon sa 32-bit na format.

Pag-convert ng Decimal Part (Fraction) ng Decimal Number sa Binary Part
Ang 36.375 ay isang decimal na numero na may decimal na bahagi ng '.375'. Ang decimal na bahagi ng '.375' ay isang fraction sa pagitan ng zero at isa. Ang 0.5 sa base ten ay pareho sa halaga ng 1/2 sa base two. Ang 0.5 10 na ipinahayag sa base two expansion ay:

Hindi ito 0.101 2 na nangangahulugang 0.625 10 . Ang decimal na bahagi ng isang decimal na numero ay may katumbas na binary na bahagi para sa katumbas na binary number. Kaya, upang i-convert ang isang decimal na numero tulad ng 36.375 10 sa base two, i-convert ang 36 sa binary at pagkatapos ay i-convert din ang .375 sa binary. Pagkatapos, isama ang parehong mga resulta sa binary point. Ang mga paraan upang i-convert ang dalawang seksyon ay magkaiba. Paano i-convert ang isang decimal integer sa base 2 ay ipinaliwanag sa kabanata 1.

Upang i-convert ang decimal fraction sa binary fraction, sundin ang mga sumusunod na hakbang:

  • I-multiply ang decimal fraction (decimal part) sa 2. Ang integer na nagreresulta mula dito ay ang unang binary digit.
  • Ulitin ang nakaraang hakbang gamit ang fractional decimal na resulta upang makuha ang susunod na binary digit.
  • Patuloy na ulitin ang nakaraang hakbang hanggang ang decimal fractional na resulta ay .0000—.

Halimbawa: I-convert ang fractional na bahagi ng 36.375 10 sa katumbas na fractional na bahagi sa base two.

Solusyon:

Tandaan na sa ikatlong hakbang, ang .500 ay pinarami ng 2 at hindi ang 1.500. Ang binary na katumbas na fraction ay binabasa sa huling column mula sa itaas. At kaya, ang sumusunod na resulta ay:

.375 10 = .011 2

Pag-convert ng Binary Part (Fraction) ng Binary Number sa Decimal Part
Upang makamit ito, palawakin ang binary fraction sa reciprocal powers ng 2.

Halimbawa: I-convert ang fractional na bahagi ng 100100.011 2 sa katumbas na bahaging praksyonal sa batayang sampu.

Solusyon:

3.10 Mga Prefix ng Numero sa Pag-compute

Sa normal na buhay, ang 1 kilo ay nangangahulugang 1000 na dinaglat sa k (maliit na titik) gaya ng sa 1kg. Sa computing, ang 1 kilo ay nangangahulugang 2 10 = 1024, ngunit dinaglat sa K (uppercase) tulad ng sa 1Kbits. Sa normal na buhay, ang 1 mega ay nangangahulugang 1,000,000 na dinaglat sa M (uppercase) tulad ng sa 1Mg. Sa computing, ang 1 mega ay nangangahulugang 2 dalawampu = 1,048,576 = 2 10 x 2 10 = 1024 x 1024 = 1,048,576 at dinaglat pa rin sa M (uppercase) tulad ng sa 1Mbits. Sa normal na buhay, ang 1 giga ay nangangahulugang 1,000,000,000 ay dinaglat sa G (uppercase) tulad ng sa 1Gg. Sa computing, ang 1 giga ay nangangahulugang 2 30 = 1,073,741,824 = 2 10 x 2 10 x 2 10 = 1024 x 1024 x 1024 = 1,073,741,824 at dinaglat pa rin sa G (uppercase) tulad ng sa 1Gbits. Ang sumusunod na talahanayan ay nagbibigay ng kahulugan ng apat na prefix sa normal na buhay at sa computing:

3.11 Mga Problema

Ang mambabasa ay pinapayuhan na lutasin ang lahat ng mga problema sa isang kabanata bago lumipat sa susunod na kabanata.

  1. Gumuhit ng linya ng numero na may mga integer mula -10 hanggang +10.
  2. Idagdag ang mga sumusunod na binary na numero sa 8-bit two's complement: 101010 2 at 1111 2 .
  3. Gumamit lamang ng complement approach ng dalawa sa 8-bits para ibawas ang binary number na 1111 2 mula sa binary number na 101010 2 .
  4. Hanapin ang produkto ng 10110 2 x 1101 2 sa base two.
  5. Hatiin ang 36,375 10 ng 1000 10 sa decimal at sa binary, at ihambing ang mga resulta.
  6. Gamitin ang 8-bit na iyong pinili upang ilarawan ang lohikal na AT, O, XOR, Baliktarin, Shift Pakanan, Shift Pakaliwa, Paikutin Pakanan, at Paikutin Pakaliwa. Ang bawat byte ay dapat may pinaghalong 1's at 0's.
  7. a) Isulat ang numeric code para sa ASCII character ng zero sa hexadecimal, binary, at decimal.
    b) Isulat ang numeric code para sa ASCII character ng “1” sa hexadecimal, binary, at decimal.
    c) Isulat ang numeric code para sa ASCII character ng 'A' sa hexadecimal, binary, at decimal.
    d) Isulat ang numeric code para sa ASCII character ng 'a' sa hexadecimal, binary, at decimal.
  8. I-convert ang 49.49 10 sa base two. I-convert ang iyong resulta sa IEEE 32-bit na floating point na format.
  9. a) Paano naiiba ang IEEE 64-bit floating point format sa 32-bit na format?
    b) Ibigay ang dalawang magkaugnay na dahilan kung bakit ang 64-bit na format ay inilarawan bilang doble o mas mataas na katumpakan sa ibabaw ng
    32-bit na format.