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

Чөлөөт нэвтэрхий толь, Википедиагаас
Харайх: Удирдах, Хайлт

Аравтын тооллын систем нь 10 гэсэн суурьтай, орчин үеийн соёл иргэншлүүдэд хамгийн түгээмэл хэрэглэгддэг тооллын систем.

Бусад тооллын системүүдэд хөрвүүлэх[засварлах]

Бүхэл тоо[засварлах]

Ямар нэг X гэсэн эерэг бүхэл тоо нь p суурьтай тооллын системд n ширхэг xi (i=0,n-1) цифрээс тогтоно гэвэл, ө.х.

xn-1xn-2...x1­x0

гэж бичигдсэн байвал энэ бичвэрийн 10-тын эквивалент нь:

X(10) = xn-1 * pn-1 + xn-2 * pn-2 + ... + x1 * p1 + x0 * p0 (to10a)

гэсэн томъёогоор олдох юм. Ж.нь 110102 гэсэн 2-тын тоог үзье. Дээрх томъёог хэрэглэхэд 2610 гэж гарна.

Эсрэгээр, эерэг бүхэл 10-тын тоог бусад тооллын систем рүү яаж шилжүүлэх вэ гэдгийг үзье. X гэсэн 10-тын тоог p суурьтай тооллын систем рүү хөрвүүлэхдээ дараах алгоритмыг баримтлана. Энэ алгоритмыг (from10a) алгоритм гэе.

1. X-ийг p-д хувааж, ноогдвор q, үлдэгдэл a-г олно.

2. Хэрэв 1-р алхмаар олдсон ноогдвор q≠0 байвал түүнийг X болгон аваад, харин үлдэгдэл a-г өмнө нь олсон үлдэгдлүүдийн зүүн талд нэмж бичнэ. 1-р алхамд шилжинэ.

3. Хэрэв 1-р алхмаар олдсон ноогдвор q=0 байвал алгоритм зогсоно. Харин олсон бүх үлдэгдлүүдийн дараалал бол анхны X тооны p суурьт систем дэхь эквивалент байна.

Ж.нь 7510 гэсэн 10-тын тоог 2-тын тоонд хувиргавал:

Pic2.jpg

Мэдээж энэ 2-тын кодод (to10a) томъёог хэрэглэхэд буцаад 7510 гарна. Нэг зүйлийг тэмдэглэхэд, 2-тын кодын зүүн талд 0 битүүдийг нэмж бичлээ гээд 10-тын эквивалент өөрчлөгдөхгүй болох нь (to10a) томъёоноос харагдаж буй байх. Харин 1-ийг залгавал өөр тоо гарна. Тухайлбал 001001011 гэсэн 9 битийн код бол мөн л 7510 бөйна.

Бодит тоо[засварлах]

X(10) = xn-1 * pn-1 + xn-2 * pn-2 + ... + x1 * p1 + x0 * p0 + x-1 * p-1 + x-2 * p-2 + ... + x-m * p-m (to10b)

Ж.нь

1011,22 = 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20 + 1 * 2-1 = 8 + 2 + 1 + 0,5 = 11,510

5E,A716 = 5 * 161 + E * 160 + A * 16-1 + 7 * 16-2 = 80 + 14 + 0,625 + 0,02734375 = 94,6523437510

10-тын системийн бодит тоог бусад систем рүү яаж шилжүүлэх вэ? Мэдээж бүхэл ба бутархай хэсгийг тус тусад нь шилжүүлнэ. Бүхэл тоог хэрхэн шилжүүлэхийг өмнө үзсэн ((from10a) алгоритм). Тиймээс бутархай хэсгийг шилжүүлэх асуудал үлдэж бөйна.

0,62510 гэсэн 10-тын бутархайг авч үзье. Үүнийг

0/100 + 6/101 + 2/102 + 5/103 = 6 * 10-1 + 2 * 10-2 + 5 * 10-3

гэж 10 суурьтай бүхэл зэргүүдээр задлана. Нөгөө талаас 0,62510-ыг

0,5 + 0,125 = 1/2 + 1/8 = 1/21 + 1/23 = 1 * 2-1 + 1 * 2-3

гэж бичье. Илүү дэлгэрэнгүйгээр бол

0/20 + 1/21 + 0/22 + 1/23 = 0 * 20 + 1 * 2-1 + 0 * 2-2 + 1 * 2-3

гэж болно. Энд (to10b) томъёо бичигдсэн байгааг анзаарав уу.

Pic7.jpg

Тиймээс үржвэрүүдийн эхний гишүүдийг түүж, 20-ийн өмнөх цифрийг таслалын зүүн талд, бусдыг баруун талд бичихэд

0,101

гэж гарна. Энэ бол 0,62510-ын 2-тын код юм.

Дээрх гаргалгаанаас нэг дүгнэлт хийж болно. Зөвхөн 1/2-ын бүхэл зэргүүдээр гүйцэд задарч чадах тийм бутархайнууд л төгсгөлөг 2-тын код үүсгэнэ. Тиймээс 3/4, 7/8 г.м.-ийг 2-тоор яг нарийн дүрслэх боломжтой бол 1/3, 2/5 г.м.-ийг боломжгүй. Эдгээрийг зөвхөн тодорхой нарийвчлалтай кодлож болно (битийн тоог хүн өөрөө хязгаарлаж). Ж.нь

2/5 = 0,410 = 0,011001100112 (11 битийн нарийвчлалтай)

Аравтын бутархайг 16-тын систем руу шилжүүлнэ гэвэл тэр тоо мөн л 1/16-ын бүхэл зэргүүдээр гүйцэд задардаг байх ёстой. Үгүй бол тодорхой нарийвчлалтайгаар кодлоно.


Ерөнхий тохиолдолд X гэсэн 10-тын бутархайг p суурьтай тооллын систем рүү хөрвүүлэхдээ дараах алгоритмыг баримталж болох юм. Энэ нь:

1. X-ийг p-ээр үржинэ.

2. Хэрэв 1-р алхмаар олдсон үржвэрийн бутархай хэсэг нь 0 болоогүй эсвэл заасан нарийвчлалд хүрээгүй бол энэ бутархайг X болгон аваад 1-р алхамд шилжинэ.

3. Хэрэв 1-р алхмаар олдсон үржвэрийн бутархай хэсэг нь 0 болсон эсвэл заасан нарийвчлалд хүрсэн бол алгоритм зогсоно. Харин энэ хүртэл олсон бүх үржвэрийн бүхэл хэсгүүдийн шууд дараалал бол анхны X бутархайн p суурьт систем дэхь эквивалент болно.