Хоёртын аравтын системийг хаана ашигладаг вэ? Хоёртын код дахь тоонуудын дүрслэл. Тоог хөрвүүлэх: хоёртын системээс аравтын тоо

Хоёртын аравтын тооллын систем. 0-ээс 9 хүртэлх аравтын бутархайн цифрүүдийг хоёртын тетрадуудаар солино: 0=0000, 1=0001, 2=0010, 3=0011, 4=0100, 5=0101, 6=0110, 7=0111, 8=1000 ба 9= 1001. Энэ тэмдэглэгээ нь тоог аравтын бутархай системээс хоёртын систем рүү эсвэл эсрэгээр хөрвүүлэх завсрын алхам болгон ашигладаг. 10 нь 2-ын яг хүчин чадал биш тул 16 тетрадыг бүгдийг нь ашигладаггүй бөгөөд олон оронтой тоон дээрх арифметик үйлдлийн алгоритмууд нь үндсэн тооллын системээс илүү төвөгтэй байдаг. Гэсэн хэдий ч хоёртын аравтын тооллын системийг олон тооны микро тооцоолуур болон зарим компьютеруудад (ялангуяа Yamaha MSX) энэ түвшинд ч ашигладаг.

Аравтын тооллын систем дэх дүрслэл, арифметикийг хүмүүст хамгийн сайн мэддэг, хоёртын дүрслэл, хоёртын арифметикийг компьютерт хамгийн сайн мэддэг тул тооны хоёртын аравтын тэмдэглэгээний буулт системийг нэвтрүүлсэн. Энэ системийг аравтын бутархай оролт/гаралтын горимыг байнга ашиглах шаардлагатай үед ихэвчлэн ашигладаг. (цахим цаг, тооны машин, дуудлагын дугаар гэх мэт). Ийм төхөөрөмжүүдэд програмын санах ойн хэмжээ бага тул хоёртын тоог аравтын тоо руу хөрвүүлэх бүх нийтийн микро код өгөхийг үргэлж зөвлөдөггүй.

Энэ системийн зарчим нь маш энгийн: аравтын орон бүрийг 4 битийн аравтын тоонд шууд хөрвүүлдэг, жишээлбэл: 369110=0011 0110 1001 0001DEC:

Аравтын тоо 3 6 9 1 BCD 0011 0110 1001 0001

Хоёртын аравтын тоо 1000 0000 0111 0010-ыг аравтын аравтын эквивалент руу хөрвүүлье. 4 битийн бүлэг бүрийг аравтын эквивалент болгон хувиргадаг. Бид авдаг 1000 0000 0111 0010DEC = 807210:

BCD 1000 0000 0111 0010 Аравтын 8 0 7 2

Микропроцессорууд нь цэвэр хоёртын тоог ашигладаг боловч BCD хөрвүүлэх командуудыг ойлгодог. Үүссэн хоёртын аравтын тоонуудыг аравтын тэмдэглэгээгээр хялбархан илэрхийлдэг бөгөөд энэ нь хүмүүст илүү ойлгомжтой байдаг.

Хоёртын тоог BCD болгон хөрвүүлэх

AVR микроконтроллеруудын арифметик-логик нэгж (бусад микропроцессорууд) нь хоёртын кодоор илэрхийлэгдсэн тоон дээр энгийн арифметик болон логик үйлдлүүдийг гүйцэтгэдэг. ADC хувиргах үр дүнг хоёртын кодоор уншдаг бөгөөд хэмжилтийн үр дүнг хоёртын кодоор (бүхэл тоо эсвэл хөвөгч цэгийн форматаар) боловсруулахад тохиромжтой. Гэхдээ индикатор дээр эцсийн үр дүн гарч ирэхэд үүнийг хүний ​​унших боломжтой аравтын бутархай формат руу хөрвүүлэх ёстой.

Энэ хэсэгт хоёртын тоог BCD руу хөрвүүлэх программуудыг авч үзнэ.

1. Аравтын бутархай тоог илэрхийлэх форматууд

Микропроцессорын аравтын тоог илэрхийлэх хоёр түгээмэл формат одоогоор байдаг - савласан хоёртын кодтой аравтын бутархай (BCD-Хоёртын кодтой аравтын тоо) болон задалсан аравтын код.

Савласан BCD код нь аравтын орон бүрийг 4 битийн хоёртын байрлалын код 8-4-2-1-ээр илэрхийлдэг аравтын тооны дүрслэл юм. Энэ тохиолдолд байт нь аравтын бутархай хоёр оронтой байна. Хамгийн бага ач холбогдол бүхий аравтын орон нь баруун тетрадыг (бит 3: 0), хамгийн чухал аравтын орон нь зүүн тетрадыг (бит 7: 4) эзэлдэг. Олон битийн BCD тоонууд нь хэд хэдэн зэргэлдээ байт эзэлдэг. Хэрэв тоо нь гарын үсэг зурсан бол BCD форматаар тэмдгийг илэрхийлэхийн тулд хамгийн чухал байтын хамгийн чухал тетрадыг хуваарилна. Зургаан хоёртын кодын хэв маягийг аравтын оронтой тоогоор илэрхийлэхэд ашигладаггүй тэмдэгтийг кодлоход ашиглаж болно. Эдгээр нь 1010-1111 кодууд юм (A-F арван арван тоот). Ихэвчлэн нэмэх тэмдгийг кодлоход 1100 (C) кодыг, хасах тэмдгийн хувьд 1101 (D) кодыг ашигладаг.

Баглаагүй аравтын бутархай код нь олон улсын ASCII тэмдэгтийн кодчилолын хүснэгтийн дэд багц юм (Хүснэгт 1). Цифр бүр 8 битийн кодоор илэрхийлэгддэг тул задалсан аравтын тоог хадгалахад хоёр дахин их санах ой шаардагддаг нь харагдаж байна. Хүснэгт 1: Аравтын бутархайн цифрүүдийн ASCII кодууд

2. 16 битийн бүхэл тоог BCD тоо руу хөрвүүлнэ

www.atmel.com нь 16 битийн хоёртын бүхэл тоог багцалсан BCD тоо руу хөрвүүлэх "bin2bcd16" програмыг санал болгож байна. Энэ нийтлэлд дурдсан алгоритмын дагуу A.V. Tereshkin-ийн бичсэн "bin16bcd5" програмыг (Хавсралт, Хөтөлбөр 1-ийг үзнэ үү), мөн ижил ажлыг гүйцэтгэдэг. Сүүлчийн програм нь хурд, кодын урт, ашигласан регистрүүдийн тоогоор эхнийхээс илүү үр дүнтэй болсон.

"bin16bcd5" програмын алгоритм нь дараах байдалтай байна. Бидэнд тэмдэггүй 16 бит бүхэл тоо (0-ээс 65535 хүртэлх муж) байна гэж бодъё. Мэдээжийн хэрэг та аравтын бутархай 5 цифрийг олох хэрэгтэй. Хөрвүүлэх арга нь анхны тооноос 10 000-ыг хасаад эхлээд арван мянгатын аравтын оронг тодорхойлох явдал юм. Дараа нь 1000 гэх мэт тоог дараалан хасах замаар мянганы тоог олно. Хасалтын тоог тоолж сөрөг зөрүү гарах хүртэл хасах үйлдлийг хийнэ. Анхны тооны регистр дэх дараагийн аравтын бутархай бүрийг тодорхойлоход шилжих үед сүүлчийн эерэг зөрүү сэргээгддэг. Аравтын аравтын орон олдсоны дараа нэгжийн аравтын орон нь анхны тооны бүртгэлд үлдэнэ.

"bin16ASCII5" програм (Хавсралт 2-ыг үзнэ үү) нь 16 битийн хоёртын бүхэл тоог задлаагүй аравтын тоо болгон хувиргадаг. Үүнтэй ижил алгоритмыг ашигладаг.

3. Хоёртын бутархайг BCD болгон хөрвүүлнэ

Тодорхойлолтоор хоёртын бутархайг дараах илэрхийллээр илэрхийлнэ.

0.А-1А-2 ... А-м = А-1*2-1 + А-2*2-2 + ... А-м*2-м

Энэ дүрслэлээс m алхамыг агуулсан хувиргах алгоритм (Зураг 2) дагалддаг. Алхам бүрт дараагийн хоёртын цифрийг хоёртын-аравтын үр дүнд нэмж, үр дүнг бүхэлд нь 2-т хуваана.

Анхны хоёртын бутархай болон BCD багцалсан үр дүнгийн бүртгэлийг агуулсан хоёртын бүртгэлийг үзүүлэв. Тодорхой болгохын тулд хоёр регистр нь микропроцессорын санах ойд ямар ч байдлаар илэрхийлэгдээгүй нэгжийн орон ба цэгийн байрлалыг харуулдаг, гэхдээ байрлалыг нь үргэлж хатуу зааж өгдөг. Харгалзан авч буй алгоритмын мөчлөгийн тоо нь хоёртын фракцын битийн тоотой тэнцүү байна. Хоёртын бутархай регистрийн битийн хэмжээг тооцоолох шаардлагатай нарийвчлалаар тодорхойлно.

Энэ цифрийг BCD тоонд нэмэх нь BCD тооны нэгжийн оронтой байх ёстой гэсэн үг бөгөөд дараа нь хоёр хуваагдахад A-i цифр нь аравтын бутархайн хамгийн чухал тетрадын хамгийн чухал орон руу шилжинэ. . Програмчлалын үед бид аравтын бутархайн оронг C зөөвөрлөх бит гэж бодож болно.

Хоёртын тоог хуваахтай адил савласан хоёртын тоог хоёрт хуваахад баруун тийш нэг газар шилжинэ. Энэ тохиолдолд тетрад бүр, өөрөөр хэлбэл аравтын орон бүр хоёр хуваагдана. Тэгш аравтын оронтой тоог харгалзах газарт хуваах үед аравтын орон дахин гарч ирэх бөгөөд засвар хийх шаардлагагүй. Аравтын сондгой цифрийг 2-т хуваахад 5-ын үлдэгдэл нь доод аравтын бутархай дээр нэмэгдэх ёстой, гэхдээ үнэндээ хоёртын ээлжинд 8 тоог (хамгийн чухал тетрадын цифрийн жин) доод тетрадад нэмнэ. Тиймээс баруун тийш шилжсэний дараа хамгийн чухал цифрүүдийг тогтоосон дэвтэрийн агуулгаас 3-ын тоог хасахаас бүрдэх үр дүнг засах шаардлагатай.

4. Хөвөгч цэгийн тоог BCD тоо руу хөрвүүлэх

Хөвөгч цэгийн тоонуудын дүрслэл дараах байдалтай байна.

Энд M нь тооны хоёртын мантиса, P нь тооны хоёртын дараалал юм.

Энэ дүрслэлийг аравтын бутархай тооллын системд ихэвчлэн маш том эсвэл маш бага тоог илэрхийлэхэд ашигладаг. Мантисса ба экспонент нь тэмдэглэгдсэн бүхэл тоо юм. Mantissa тэмдэг нь бүхэл тооны тэмдэг юм. Захиалга нь мантисын дүрс дээр байгаа цэгийн оронд тухайн цэгийн жинхэнэ байрлалыг харуулдаг. Хоёртын хөвөгч цэгийн тоо нь бидний хэрэглэж заншсан аравтын бутархай тооноос ялгаатай бөгөөд энэ цэг нь хоёртын тоо, өөрөөр хэлбэл, дараалал нь энэ цэгийг зүүн эсвэл баруун тийш шилжүүлэх ёстой хоёртын (аравтын бус) цифрүүдийн тоог заадаг.

Хөвөгч цэгийн тооны хэвийн дүрслэл нь мантис нь зөв бутархай бөгөөд түүний тэргүүлэх цифр нь тэгээс өөр байх дүрслэл юм. Харин хоёртын тооны хувьд тэргүүлэгч орон нь тэгээс ялгаатай байх шаардлага нь энэ цифр нь 1-тэй тэнцүү байна гэсэн үг. Хэрэв тэргүүлэх цифр нь тодорхой бол санах ойд хадгалах шаардлагагүй.

Холимог тооллын системийн тухай ойлголт

Тооллын системүүдийн дунд нэг анги байдаг холимог тооллын систем.

Тодорхойлолт 1

Холимогүүнийг ингэж нэрлэдэг тэмдэглэгээ, $P$ суурьтай тодорхой тооны системд заасан тоонуудыг $Q$ суурьтай өөр тооллын системийн цифрүүдийг ашиглан төлөөлдөг бөгөөд $Q

Түүгээр ч барахгүй ийм тооны системд системийн цифр бүрийг $P$ суурьтай илэрхийлэхэд зөрүү гарахаас зайлсхийхийн тулд $Q$ суурьтай системийн ижил тооны цифрийг хуваарилдаг бөгөөд энэ нь ямар ч тоог илэрхийлэхэд хангалттай юм. $P$ суурьтай системийн цифр.

Холимог тооллын системийн жишээ бол хоёртын аравтын систем юм.

Хоёртын аравтын тооллын системийг ашиглах практик үндэслэл

Хүн практикт аравтын тооллын системийг өргөн ашигладаг бөгөөд компьютер нь хоёртын тоо, хоёртын арифметик дээр ажилладаг тул практикт буулт хийх сонголтыг нэвтрүүлсэн. хоёртын аравтын тооллын систем, энэ нь аравтын бутархай оруулах/гаралтын горимыг байнга ашиглах шаардлагатай үед ихэвчлэн ашиглагддаг (жишээлбэл, электрон цаг, тооны машин гэх мэт). Ийм төхөөрөмжид програмын санах ойн хэмжээ бага тул хоёртын тоог аравтын тоо руу хөрвүүлэхэд бүх нийтийн микро кодыг ашиглахыг үргэлж зөвлөдөггүй.

Тайлбар 1

Зарим төрлийн компьютерт арифметик логик нэгжүүд (ALUs) нь хоёртын аравтын кодоор илэрхийлэгдсэн тоон дээр үйлдлүүдийг гүйцэтгэдэг тусгай аравтын арифметик нэгжүүдийг агуулдаг. Энэ нь зарим тохиолдолд компьютерийн гүйцэтгэлийг мэдэгдэхүйц нэмэгдүүлэх боломжийг олгодог.

Жишээлбэл, автоматжуулсан өгөгдөл боловсруулах систем нь олон тооны тоог ашигладаг боловч олон тооны тооцоолол хийдэггүй. Ийм тохиолдолд тоонуудыг нэг системээс нөгөөд шилжүүлэх үйлдлүүд нь мэдээлэл боловсруулах үйлдлийг гүйцэтгэхэд шаардагдах хугацаанаас хамаагүй давах болно. Харин микропроцессорууд цэвэр хоёртын тоог ашигладаг ч хоёртын аравтын тэмдэглэгээ рүү хөрвүүлэх командуудыг ойлгодог. AVR микроконтроллерийн ALU (мөн бусад микропроцессорууд) нь хоёртын кодоор илэрхийлэгдсэн тоон дээр энгийн арифметик болон логик үйлдлүүдийг гүйцэтгэдэг, тухайлбал:

    ADC хувиргах үр дүнг уншдаг;

    бүхэл тоо эсвэл хөвөгч цэгийн форматаар хэмжилтийн үр дүнг боловсруулдаг.

Гэсэн хэдий ч эцсийн үр дүн нь хүний ​​ойлголтод тохиромжтой аравтын бутархай хэлбэрээр индикатор дээр харагдана.

Хоёртын аравтын тооллын системийг байгуулах зарчим

Хоёртын аравтын тооллын системийг байгуулахдаа аравтын бутархай бүрийг төлөөлөхийн тулд $4$ хоёртын цифрийг хуваарилдаг, учир нь аравтын бутархайн дээд тал нь $9$ нь $10012$ гэж кодлогдсон байдаг.

Жишээ нь: $925_(10) = 1001 0010 0101_(2-10)$.

Зураг 1.

Энэ тэмдэглэгээнд хоёртын цифрүүдийн дараалсан дөрвөлжин тоо нь аравтын бутархайн $9$, $2$, $5$ гэсэн цифрүүдийг тус тус илэрхийлнэ.

Хоёртын-аравтын тооллын системд тоог бичихийн тулд эхлээд аравтын бутархайн системд, дараа нь тоонд орсон аравтын орон бүрийг хоёртын системд дүрслэх шаардлагатай. Үүний зэрэгцээ хоёртын тооллын системд янз бүрийн аравтын оронтой цифрүүдийг бичихийн тулд өөр өөр тооны хоёртын оронтой тоо шаардлагатай. Ямар нэгэн зааглагч ашиглахаас зайлсхийхийн тулд аравтын цифрийг хоёртын тоогоор илэрхийлэхдээ 4 хоёртын цифрийг үргэлж бичдэг. Эдгээр дөрвөн цифрийн бүлгийг нэрлэнэ дэвтэр.

Хэдийгээр BCD тэмдэглэгээ нь зөвхөн $0$ ба $1$ цифрүүдийг ашигладаг боловч хоёртын тооны аравтын эквивалент нь BCD тооны аравтын бутархайн эквивалентаас хэд дахин их байдаг тул өгөгдсөн тооны хоёртын дүрслэлээс ялгаатай.

Жишээлбэл:

$1001 0010 0101_{(2)} = 2341_{(10)}$,

$1001 0010 0101_{(2)} = 925_{(2-10)}$.

Энэ тэмдэглэгээ нь тоог аравтын бутархай системээс хоёртын систем рүү хөрвүүлэхэд завсрын алхам болгон ашигладаг. $10$ тоо нь $2$ тооны яг хүчин чадал биш тул $16$ тетрадыг бүгдийг нь ашигладаггүй ($A$-аас $F$ хүртэлх тоог илэрхийлсэн тетрадыг эдгээр тоонуудыг хориглосон гэж үздэг тул хассан), харин арифметикийн алгоритмууд. Энэ тохиолдолд олон оронтой тоон дээрх үйлдлүүд нь үндсэн тооллын системээс илүү төвөгтэй байдаг. Гэсэн хэдий ч хоёртын аравтын тооллын системийг олон тооны микро тооцоолуур болон зарим компьютерт энэ түвшинд ч ашигладаг.

Хоёртын бутархай кодоор дүрслэгдсэн тоон дээрх арифметик үйлдлийн үр дүнг засахын тулд микропроцессорын технологи нь үйлдлийн үр дүнг хоёртын аравтын тооллын систем болгон хувиргах командуудыг ашигладаг. Дараах дүрмийг хэрэглэнэ: тетрад дахь үйлдлийн (нэмэх, хасах) үр дүнд $9$-оос их тоо гарахад энэ тетрадад $6$-ийн тоог нэмнэ.

Жишээ нь: $75+18=$93.

$10001101\(8D)$

Бага дэвтэрт хориотой цифр $D$ гарч ирэв. Доод тетрадад $6$ нэмээд дараахыг аваарай:

$10010011 \ (93)$

Таны харж байгаагаар нэмэх нь хоёртын тооллын системд хийгдсэн хэдий ч үйлдлийн үр дүнг хоёртын-аравтын тооллын системд авсан.

Тайлбар 2

Битийн тэнцвэржүүлэлтийг ихэвчлэн үндэслэн хийдэг хоёртын аравтын тооллын систем. Хоёртын болон хоёртын-аравтын тооллын системийг ашиглах нь хамгийн тохиромжтой, учир нь энэ тохиолдолд тэнцвэржүүлэх мөчлөгийн тоо бусад тооны системүүдийн дунд хамгийн бага байдаг. Хоёртын кодыг ашиглах нь нөхөх хүчдэлийн боловсруулалтын хугацааг хоёртын аравтын кодтой харьцуулахад ойролцоогоор $20\%$-аар багасгах боломжийг бидэнд олгодог гэдгийг анхаарна уу.

Хоёртын аравтын тооллын системийг ашиглахын давуу тал

Тоонуудыг аравтын бутархайн системээс хоёртын аравтын тооллын систем рүү хөрвүүлэх нь тооцоолол хийхгүй бөгөөд цөөн тооны (4) хоёртын оронтой тоо хөрвүүлэгддэг тул энгийн электрон хэлхээг ашиглан хэрэгжүүлэхэд хялбар байдаг. Урвуу хөрвүүлэлт нь тусгай орчуулгын програм ашиглан компьютерт автоматаар хийгддэг.

Хоёртын аравтын тооллын системийг үндсэн тооллын системүүдийн аль нэгтэй (хоёртын) ашиглах нь ALU-д аравтын бутархай арифметик блок ашиглах нь програмчлагдсан хөрвүүлэлтийн хэрэгцээг арилгадаг тул өндөр хүчин чадалтай компьютерийг хөгжүүлэх, бүтээх боломжийг олгодог. Бодлого шийдвэрлэхдээ нэг тооллын системээс нөгөө систем рүү шилжих тоо.

Хоёр аравтын бутархай орон нь $1$ байтыг бүрдүүлдэг тул $8$-битийн хоёртын тоотой адил $0$-ээс $255$ хүртэл биш, харин $0$-с $99$ хүртэлх тооны утгыг илэрхийлэхэд ашиглаж болно. $1$ байтыг ашиглах Хоёр аравтын орон бүрийг хөрвүүлснээр та хүссэн тооны аравтын оронтой BCD тоо үүсгэж болно.

Холимог тооллын системийн жишээ хоёртын аравтын систем . BCD тооллын системд аравтын бутархай тус бүрт 4 хоёртын оронтой цифр хуваарилагддаг, учир нь аравтын бутархайн хамгийн их тоо 9 нь 1001 2 гэж кодлогдсон байдаг. Жишээлбэл,

925 10 = 1001 0010 0101 2-10 .

Энд хоёртын цифрүүдийн дараалсан дөрвөлжин (тетрад) нь аравтын бутархайн тэмдэглэгээний 9, 2, 5-ын цифрүүдийг тус тус төлөөлдөг.

Хэдийгээр BCD тэмдэглэгээ нь зөвхөн 0 ба 1 цифрийг ашигладаг боловч BCD тэмдэглэгээ нь өгөгдсөн тооны хоёртын дүрслэлээс ялгаатай. Жишээлбэл, 1001 0010 0101 гэсэн хоёртын код нь 925 биш харин 2341 аравтын тоотой тохирч байна.

Хэрэв P=Q l (l нь эерэг бүхэл тоо) бол холимог тооллын систем дэх дурын тооны дүрслэл нь Q суурьтай тооллын систем дэх энэ тооны дүрстэй яг адилхан давхцдаг. Ийм холимог тооллын системийн жишээнүүд нь хоёртын- наймтын ба хоёртын арван зургаан тоот.

Жишээлбэл,

A2 16 = 1010 0010 2 = 1010 0010 2-16

СӨРӨГ ТООНЫ ТОГТОЛЦООНЫ ТООНЫ ФОРМАТТ (ЦЭГ) ТӨЛӨӨЛӨЛТ

Арифметик үйлдлүүдийг хялбарчлахын тулд компьютерууд сөрөг тоонуудыг илэрхийлэх тусгай хоёртын кодыг ашигладаг: харилцан ба нэмэлт. Эдгээр кодыг ашиглан алгебрийн нэмэх явцад үйлдлийн үр дүнгийн тэмдгийг тодорхойлоход хялбаршуулсан болно. Хасах (эсвэл алгебрийн нэмэх) үйлдлийг операндуудын арифметик нэмэх болгон бууруулж, битийн сүлжээний халих шинж тэмдгийг боловсруулахад хялбар болгодог. Үүний үр дүнд арифметик үйлдлүүдийг гүйцэтгэдэг компьютерийн төхөөрөмжүүд хялбарчлагдсан.

Хасах үйлдлийг гүйцэтгэх аргуудын нэг нь хасах тэмдэгийг эсрэгээр нь сольж, хасах тэмдэгт дээр нэмэх явдал гэдгийг мэддэг.

A - B = A + (- B)

Энэ нь арифметик хасах үйлдлийг алгебрийн нэмэх үйлдлээр солих бөгөөд үүнийг хоёртын нэмэгч ашиглан хийж болно.

Сөрөг тоонуудын машиныг дүрслэхийн тулд кодыг ашигладаг шууд, нэмэлт, урвуу. Эдгээр кодын хялбаршуулсан тодорхойлолтыг дараах байдлаар өгч болно. Хэрэв энгийн хоёртын код дахь А тоо байвал шуудгэж дүрсэлсэн хоёртын код

[A] pr = 0.an an-1 an-2.....a1 a0,

дараа нь ижил код дахь -A тоог дараах байдлаар илэрхийлнэ

[-A]pr = 1.an an-1 an-2.....a1 a0,

болон дотор урвуу(урвуу) код нь энэ тоо дараах байдлаар харагдах болно.

[-A]rev = 1.an an-1 an-2.....a1 a0,

ai = 0 бол ai = 1,

ai = 0, хэрэв ai = 1 бол,

а i - цифр би-хоёртын тооны тухайн цифр. Тиймээс шууд кодоос урвуу код руу шилжих үед Матисын тоонуудын бүх цифрүүд урвуу болно.

Дараа нь тоо -A in нэмэлткодыг дараах байдлаар илэрхийлнэ

[-A]нэмэх = [-A]rev + 1

Тиймээс сөрөг тоонуудын нэмэлт кодыг олж авахын тулд та эхлээд анхны дугаарын дижитал хэсгийг урвуу код болгон хувиргаж, дараа нь тухайн тооны дижитал хэсгийн хамгийн бага ач холбогдол бүхий оронтой тоонд нэгийг нэмэх хэрэгтэй.

Тодорхой тооны нэмэлт кодыг шинэ дугаараар солих замаар олж авна. нэмэлтТооны мантисыг тогтмол цэг хэлбэрээр илэрхийлэхэд ашигладаг битийн сүлжээний хамгийн чухал цифрийн дараах цифрийн жинтэй тэнцэх тоо. Тиймээс ийм тооны кодыг нэмэлт гэж нэрлэдэг.

Аравтын бутархай тооллын системд тоонуудыг илэрхийлэх хоёр оронтой гэж төсөөлье. Дараа нь дүрсэлж болох хамгийн их тоо нь 99 байх бөгөөд гурав дахь байхгүй хамгийн өндөр цифрийн жин нь 10 2 байх болно, өөрөөр хэлбэл. 100. Энэ тохиолдолд 20-ийн тооны хувьд нэмэлт тоо нь 80 байх бөгөөд энэ нь 20-оос 100-ыг нөхдөг (100 - 20 = 80). Тиймээс, тодорхойлолтоор, хасах

нэмэлтээр сольж болно:

Энд хамгийн өндөр нэгж нь хуваарилагдсан битийн сүлжээнээс давж гардаг бөгөөд үүнд зөвхөн 30 тоо л үлддэг, өөрөөр хэлбэл. 50-аас 20 тоог хассаны үр дүн.

Одоо 4 битийн хоёртын кодоор дүрслэгдсэн тоонуудын ижил төстэй жишээг харцгаая. 0010 2 = 210-ын нэмэлт тоог олцгооё. 0000-аас 0010-ыг хасах хэрэгтэй, бид 1110-ыг авна, энэ нь нэмэлт код 2. Дөрвөлжин хаалтанд харуулсан цифр үнэндээ байхгүй. Гэхдээ бид 4 битийн сүлжээтэй тул ийм хасах үйлдлийг хийх нь үндсэндээ боломжгүй бөгөөд үүнээс ч илүүтэйгээр бид хасах үйлдлээс салах гэж оролдож байна. Тиймээс нэмэлт дугаарын кодыг өмнө нь тайлбарласны дагуу авна, i.e. Тэд эхлээд тооны урвуу кодыг аваад дараа нь 1-ийг нэмнэ.Энэ бүгдийг манай дугаараар (2) хийснээр ижил төстэй хариулт гарч ирнэ гэдгийг харахад хэцүү биш юм.

Үүнийг онцолж хэлье Хоёрын нэмэлт ба хоёрын нөхөх код нь зөвхөн сөрөг хоёртын тоог тогтмол цэг хэлбэрээр илэрхийлэхэд ашиглагддаг.. Эдгээр кодын эерэг тоонууд нь дүр төрхийг нь өөрчлөхгүй бөгөөд шууд кодын адилаар илэрхийлэгддэг.

Тиймээс сөрөг тооны дижитал цифрүүд шууд кодөөрчлөгдөөгүй хэвээр үлдэх ба нэг нь тэмдгийн хэсэгт бичигдсэн байна.

Энгийн жишээнүүдийг харцгаая.

Шууд кодын долоог дараах байдлаар илэрхийлнэ.

pr = 0.0001112

Шууд кодоор -7 дугаар:

[-7]pr = 1.0001112,

мөн урвуу код дээр иймэрхүү харагдах болно

[-7]илч = 1.1110002,

тэдгээр. нэгийг тэгээр, тэгийг нэгээр солино. Хоёр нөхөж байгаа тоо нь дараах байдалтай байна.

[-7]нэмэх = 1.1110012.

Хоёрын нөхөх код дахь хасагчийн дүрслэлийг ашиглан хасах процедурыг нэмэх процедурт хэрхэн бууруулж байгааг дахин авч үзье. 10-аас 7-ын тоог хас: 10 - 7 = 3. Хэрэв хоёр операндыг шууд кодоор харуулсан бол хасах үйлдлийг дараах байдлаар гүйцэтгэнэ.

-1.000111

Мөн хэрэв хасах боломжтой бол, i.e. -7, хоёр нөхөх кодоор танилцуулсан бол хасах процедурыг нэмэх журам болгон бууруулна.

+ 1.111001

1 0.000011 = 310.

Өнөө үед компьютерууд сөрөг тоог тогтмол цэг хэлбэрээр илэрхийлэхийн тулд хоёрын нөхөх кодыг ихэвчлэн ашигладаг.

Тоон машин дахь тоог дүрслэх хэлбэр нь тоон бичлэг ба түүний тоон эквивалент хоорондын харилцан захидал харилцааг тогтоох боломжийг олгодог дүрмийн багц юм.

Тооны машин (автомат) дүрсэнэ бол дижитал машины битийн сүлжээнд тоон дүрслэл. Тооны машины дүрсийн тэмдэг, жишээлбэл, A гэж дүрслэгдэх болно [A].

Машины үгийн урт хязгаарлагдмал тул машинд дүрсэлж болох тооны багц хязгаарлагдмал байдаг. Компьютер дээрх тоон дүрслэлийн янз бүрийн хэлбэрийн харьцуулалтыг ихэвчлэн тооцооллын үндсэн дээр хийдэг тооны дүрслэлийн хүрээ ба нарийвчлал.

Өдөр тутмын практикт тоонуудыг илэрхийлэх хамгийн түгээмэл хэлбэр бол таслалаар тусгаарлагдсан цифрүүдийн дарааллыг бүхэл ба бутархай хэсгүүдэд хуваах явдал юм. Энэ хэлбэрээр дүрслэгдсэн тоонуудыг тоо гэж нэрлэдэг натурал таслал эсвэл байгалийн хэлбэрээр тоонууд. Натурал хэлбэрээр тоог натурал хэлбэрээр бичдэг, жишээлбэл 12560 нь бүхэл тоо, 0.003572 нь зөв бутархай, 4.89760 нь буруу бутархай юм.

Энэ хэлбэрээр тоонуудыг дүрслэхдээ машин дахь тоог илэрхийлэхийн тулд хуваарилсан битийн сүлжээнд тоо бүр таслалынхаа байрлалыг зааж өгөх шаардлагатай бөгөөд энэ нь нэлээд их хэмжээний техник хангамжийн нэмэлт зардал шаарддаг. Тиймээс компьютерт дүрслэх өөр хоёр хэлбэр өргөн тархсан: тогтмол ба хөвөгч цэгтэй (цэгтэй).

Машины битийн сүлжээн дэх таслалыг нэг удаа, бүрмөсөн зассан бол таслалын байрлалыг зааж өгөх шаардлагагүй болно. Тоонуудыг илэрхийлэх энэ хэлбэрийг дүрслэх гэж нэрлэдэг тогтмол таслал (цэг).

Тоонууд нь эерэг ба сөрөг байж болох тул машины зургийн форматыг (битийн сүлжээ) хуваана бэлгэдлийн хэсэгТэгээд тооны талбар. Тооны талбар нь бид ердийн байдлаар дууддаг дугаарын зургийг агуулдаг мантиссатоо. Тооны тэмдгийг кодлохын тулд хоёртын тооны дүрсэнд зориулагдсан битийн сүлжээний хамгийн чухал цифрийг ашигладаг бөгөөд үлдсэн цифрүүдийг тухайн тооны мантисад зориулж хуваарилдаг. Битийн сүлжээн дэх таслалын байрлалыг ихэвчлэн мантисын хамгийн бага оронгийн баруун талд эсвэл хамгийн дээд талын зүүн талд хатуу тогтоодог. Эхний тохиолдолд тоог бүхэл тоогоор, хоёр дахь тохиолдолд зөв бутархай хэлбэрээр илэрхийлнэ. Өнөө үед компьютеруудын дийлэнх нь бүхэл тоог тогтмол цэг хэлбэрээр илэрхийлдэг.

Тэмдгийн хэсэг нь тооны тэмдгийн талаархи мэдээллийг агуулдаг. Энэ тэмдгийг хүлээн зөвшөөрч байна эерэг тоо "+" тэмдгээр илэрхийлнэ 0, мөн тэмдэг нь сөрөг тоо юм "-" тэмдгээр илэрхийлнэ 1.

Жишээлбэл, 6 битийн сүлжээг ашиглан хоёртын кодонд тогтмол цэг хэлбэрээр 7 тоог дараах байдлаар илэрхийлж болно.

Энд цэгийн зүүн талд байгаа цифр нь тооны тэмдэг, цэгийн баруун талд байгаа таван орон нь шууд код дахь тооны мантис юм. Энд юу хэлэх гээд байна вэ таслал нь хамгийн бага ач холбогдол бүхий цифрийн баруун талд байрлана, мөн энэ тохиолдолд тооны дүрс дэх цэг нь тэмдгийн битийг тооны мантиасаас тусгаарладаг.

Ирээдүйд энэ төрлийн тоог машин хэлбэрээр дүрслэх нь ихэвчлэн жишээн дээр ашиглагдах болно. Та тоог машин хэлбэрээр илэрхийлэх өөр хэлбэрийг ашиглаж болно:

Энд тэмдгийн бит нь дөрвөлжин хаалтаар тусгаарлагдана.

Тооны мантисыг илэрхийлэхийн тулд битийн сүлжээн дэх цифрүүдийн тоо нь тогтмол цэгийн тооны дүрслэлийн хүрээ, нарийвчлалыг тодорхойлдог. Үнэмлэхүй утга дахь хамгийн их хоёртын тоог нэг тэмдгийг эс тооцвол бүх оронтой тоогоор нэгээр илэрхийлнэ, i.e. бүхэл тооны хувьд

|A|max = (2 (n -1) - 1),

Хаана n- битийн сүлжээний нийт урт. 16 битийн сүлжээний хувьд

|А| хамгийн их = (2 (16-1) - 1) = 32767 10,

тэдгээр. Энэ тохиолдолд бүхэл тоон дүрслэлийн хүрээ нь +3276710-аас -3276710 хүртэл байна.

Таслалыг мантисын доод эрэмбийн цифрийн баруун талд байрлуулсан тохиолдолд, өөрөөр хэлбэл. бүхэл тоонуудын хувьд модуль нь түүнээс их тоо

(2(n-1) - 1) ба нэгээс бага нь тогтмол цэг хэлбэрээр илэрхийлэгдээгүй. Абсолют утга нь битийн сүлжээний хамгийн бага ач холбогдол бүхий цифрүүдийн нэгээс бага тоонуудыг энэ тохиолдолд машины тэг гэж нэрлэдэг. Сөрөг тэгийг хориглоно.

Зарим тохиолдолд зөвхөн тоонуудын модулиудтай ажиллах боломжтой үед хамгийн чухал битийг оролцуулан бүхэл бүтэн битийн сүлжээг тоог илэрхийлэхийн тулд хуваарилдаг бөгөөд энэ нь тоонуудын дүрслэлийн хүрээг өргөжүүлэх боломжийг олгодог.

Хоёртын аравтын тооллын систем

Хоёртын аравтын тооллын систем нь аравтын бутархай систем рүү хөрвүүлэхэд хялбар болон эсрэгээр нь орчин үеийн компьютерт өргөн тархсан. Энэ нь машины техникийн бүтцийн энгийн байдалд бус, харин хэрэглэгчийн тав тухыг хангахад гол анхаарал хандуулдаг газарт ашиглагддаг. Энэ тооллын системд бүх аравтын бутархай цифрүүд нь дөрвөн хоёртын цифрээр тус тусад нь кодлогдсон бөгөөд энэ хэлбэрээр ар араасаа дараалан бичигддэг.

Хоёртын аравтын систем нь машины техникийн бүтцийг хэрэгжүүлэх үүднээс хэмнэлттэй биш (шаардлагатай тоног төхөөрөмж нь ойролцоогоор 20% -иар нэмэгддэг), гэхдээ даалгавар, програмчлалыг бэлтгэхэд маш тохиромжтой. Хоёртын аравтын тооллын системд тооллын системийн үндэс нь 10 тоо боловч аравтын орон (0, 1, ..., 9) бүрийг хоёртын цифрээр кодлодог. Аравтын нэг оронтой тоог илэрхийлэхийн тулд дөрвөн хоёртын цифрийг ашигладаг. 4 хоёртын оронтой тоо (эсвэл хоёртын тетрад) нь 10 биш, харин 16 тоог илэрхийлж чаддаг тул энд мэдээж илүүдэл бий, гэхдээ энэ нь програмчлалын тав тухтай байдлыг хангах үүднээс үйлдвэрлэлийн зардал юм. Тоонуудыг илэрхийлэх хэд хэдэн хоёртын кодтой аравтын бутархай системүүд байдаг бөгөөд тэдгээрийн онцлог нь нэг тетрадын доторх тэг ба нэгүүдийн тодорхой хослолуудад аравтын оронтой тооны тодорхой утгыг өгдөг.
ref.rf дээр нийтлэгдсэн
Хамгийн түгээмэл хэрэглэгддэг байгалийн хоёртын кодтой аравтын тооллын системд тетрадын доторх хоёртын цифрүүдийн жин нь натурал буюу 8, 4, 2, 1 байна (Хүснэгт 6).

Хүснэгт 6

Хоёртын аравтын тэмдэглэгээ

Жишээлбэл, BCD тэмдэглэгээний аравтын тоо 5673 нь 01010110011100011 байна.

Тоонуудыг нэг тооллын системээс нөгөөд хөрвүүлэх нь машины арифметикийн чухал хэсэг юм. Орчуулгын үндсэн дүрмийг авч үзье.

1. Хоёртын тоог аравтын бутархай тоо руу хөрвүүлэхийн тулд ᴇᴦο-г тухайн тооны цифрүүдийн үржвэрүүд болон харгалзах 2-ын зэрэглэлийн олон гишүүнт гэж бичиж, аравтын бутархайн арифметикийн дүрмийн дагуу тооцоолох шаардлагатай˸

Орчуулахдаа хоёр˸-ийн чадлын хүснэгтийг ашиглах нь тохиромжтой

Хүснэгт 7.

2-р тооны эрх мэдэл

n (зэрэг)

Жишээ.Тоог аравтын тооллын систем рүү хөрвүүл.

2. Найман тоог аравтын бутархай болгон хувиргахын тулд ᴇᴦο-г тухайн тооны цифрүүдийн үржвэрүүд болон 8 тооны харгалзах хүчнээс тогтсон олон гишүүнт гэж бичиж, аравтын арифметикийн дүрмийн дагуу тооцоолох шаардлагатай˸

Орчуулахдаа 8˸-ийн хүчний хүснэгтийг ашиглах нь тохиромжтой

Хүснэгт 8.

8 дугаарын эрх мэдэл

n (зэрэг)

Хоёртын аравтын тооллын систем - ойлголт, төрлүүд. "Хоёртын-аравтын тооллын систем" ангиллын ангилал, онцлог 2015, 2017-2018 он.

Энэ систем нь S = 10 суурьтай боловч цифр бүрийг тетрад гэж нэрлэдэг дөрвөн битийн хоёртын тоогоор илэрхийлдэг. Ерөнхийдөө энэ тооллын системийг компьютерт мэдээлэл оруулах, гаргахад ашигладаг. Гэсэн хэдий ч зарим төрлийн компьютерт ALU нь хоёртын аравтын кодоор тоон дээр үйлдлүүдийг гүйцэтгэдэг тусгай аравтын арифметик блокуудыг агуулдаг. Энэ нь зарим тохиолдолд компьютерийн гүйцэтгэлийг мэдэгдэхүйц нэмэгдүүлэх боломжийг олгодог.

Жишээлбэл, автоматжуулсан өгөгдөл боловсруулах системд олон тооны тоо байдаг боловч цөөн тооны тооцоо байдаг. Энэ тохиолдолд тоонуудыг нэг системээс нөгөөд шилжүүлэхтэй холбоотой үйлдлүүд нь мэдээлэл боловсруулах үйлдлийг гүйцэтгэхэд шаардагдах хугацаанаас ихээхэн давах болно.

Тоонуудыг аравтын бутархай системээс BCD руу хөрвүүлэх нь маш энгийн бөгөөд цифр бүрийг хоёртын тетрадаар солихоос бүрдэнэ.

Жишээ.

572.38 (10) аравтын тоог хоёртын аравтын тооллын системд бич.

Урвуу орчуулга нь бас энгийн: та хоёртын аравтын тоог цэгээс зүүн тийш (бүхэл хэсгийн хувьд) ба баруун тийш (бутархай хэсгийн хувьд) тетрадад хувааж, шаардлагатай тооны ач холбогдолгүй тэгийг нэмэх хэрэгтэй. дараа нь тетрад бүрийг аравтын оронтой тоогоор бичнэ.

Жишээ.

Хоёртын аравтын тоо 10010.010101 (2-10)-ыг аравтын тооллын системд бич.

BCD-ээс хоёртын систем рүү тоонуудыг хөрвүүлэх нь дээр дурдсан ерөнхий дүрмийн дагуу хийгддэг.

2.3. Найман тооллын систем

Найман тооллын системд зөвхөн найман орон ашигладаг, өөрөөр хэлбэл. Энэ тооны систем нь S = 8 суурьтай. Ерөнхийдөө наймт тоо дараах байдалтай байна.

Хаана
.

Найман тооллын систем нь хоёртын системээс ялгаатай нь компьютерт хэрэггүй. Энэ нь тоо бичих авсаархан хэлбэрийн хувьд тохиромжтой бөгөөд програмистууд (жишээлбэл, команд, хаяг, операндуудын хоёртын кодыг бичихэд илүү товч бөгөөд тохиромжтой хэлбэрээр програмын текстэнд) ашигладаг. Найман тооллын системд орон бүрийн жин нь найм эсвэл наймны нэгийн үржвэртэй байдаг тул найман битийн хоёртын тоо нь 0-255 мужид аравтын бутархайн утгыг илэрхийлэх боломжийг олгодог бөгөөд наймтын тоо нь 0 мужийг хамардаг. -99999999 (хоёртын хувьд энэ нь 27 оронтой).

8=2 3 тул наймтын тэмдэгт бүрийг гурван битийн хоёртын тоогоор илэрхийлж болно. Хоёртын тооллын системээс наймт тооллын систем рүү тоог хөрвүүлэхийн тулд та энэ тоог цэгийн (таслал) зүүн талд (бүхэл хэсгийн хувьд) болон баруун талд (бутархай хэсгийн хувьд) гурван бүлэгт хуваах хэрэгтэй. оронтой тоо (гурвал) ба бүлэг бүрийг найман тооллын систем дэх тоогоор илэрхийлнэ. Хэт бүрэн бус гурвалыг шаардлагатай тооны ач холбогдолгүй тэгээр нэмж оруулсан болно.

Жишээ.

10101011111101 (2) хоёртын тоог наймт тооллын системд бич.

Жишээ.

1011.0101 (2) хоёртын тоог наймт тооллын системд бич.

Найман тооноос хоёртын тоо руу хөрвүүлэх нь наймтын тооны орон бүрийг гурван оронтой хоёртын тоо (гурвал) хэлбэрээр илэрхийлэх замаар хийгддэг.

2.4. Арван аравтын тооллын систем

Энэ тооллын систем нь S = 16 суурьтай. Ерөнхийдөө 16-тын тоо дараах байдалтай байна.

Хаана
.

Арван аравтын тооллын систем нь олон битийн хоёртын тоог илүү богино хугацаанд бичих боломжийг олгодог бөгөөд үүнээс гадна 4 битийн хоёртын тооны тэмдэглэгээг богиносгох, жишээлбэл. хазах, оноос хойш 16=2 4 . Хоёртын тоонуудыг илүү товч бөгөөд хялбар бичихийн тулд арван зургаатын системийг програмын бичвэрүүдэд бас ашигладаг.

Хоёртын тооллын системээс 16-лаат тоо руу хөрвүүлэхийн тулд цэгийн баруун, зүүн талд байгаа энэ тоог тетрадад хувааж, тетрад бүрийг 16-тын тооллын системд цифрээр илэрхийлэх шаардлагатай.

Жишээ.

10101011111101 (2) гэсэн хоёртын тоог 16-тын тоогоор бич.

Жишээ.

11101.01111 (2) гэсэн хоёртын тоог арван арван тоот системээр бич.

Арван арвантын тооллын системээс хоёртын тооллын системд тоог хөрвүүлэхийн тулд эсрэгээр энэ тооны цифр бүрийг тетрадаар солих шаардлагатай.

Дүгнэж хэлэхэд, дурын тоог нэг тооллын системээс нөгөөд шилжүүлэх ажлыг "Хоёртын тооллын систем" хэсэгт тайлбарласан ерөнхий дүрмийн дагуу хийж болно гэдгийг тэмдэглэх нь зүйтэй. Гэсэн хэдий ч практик дээр тоонуудыг аравтын бутархай системээс авч үзсэн тооллын систем рүү болон эсрэгээр нь хоёртын тооллын системээр дамжуулан хөрвүүлдэг.

Түүнчлэн, арван зургаат болон наймтын тоо нь процессор ажиллаж байгаа хоёртын том тоонуудыг л илэрхийлэх арга гэдгийг санаарай. Энэ тохиолдолд арван зургаатын системийг илүүд үздэг, учир нь орчин үеийн компьютерт процессорууд 4, 8, 16, 32 эсвэл 64 битийн урттай үгсийг өөрчилдөг. үгсийн урт нь 4-ийн үржвэр юм. Найман тооллын системд 3 битийн үржвэртэй үгсийг илүүд үздэг, тухайлбал, 12 битийн урттай үгсийг (DEC-ийн PDP-8 шиг) илүүд үздэг.