Агуулгыг алгасах

Тэнцвэржүүлсэн гуравтын систем

"Тэнцвэржүүлсэн гуравтын систем ашигладаг Сетунь компьютер"

Энэ бол стандарт бус боловч байрлалын тооллын систем юм. Түүний онцлог нь цифрүүд нь -1, 0 ба 1 утгуудын аль нэгийг авч болдогт оршино. Гэсэн хэдий ч түүний суурь нь 3 хэвээр байна (учир нь гурван боломжит утга байдаг). -1-г цифр болгон бичих нь тохиромжгүй тул цаашид бид үүнд Z үсгийг ашиглана. Хэрэв танд энэ систем нэлээд хачирхалтай санагдаж байвал зургийг хараарай — энэ бол үүнийг ашигладаг компьютеруудын нэг юм.

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

    0    0
    1    1
    2    1Z
    3    10
    4    11
    5    1ZZ
    6    1Z0
    7    1Z1
    8    10Z
    9    100

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

    -1   Z
    -2   Z1
    -3   Z0
    -4   ZZ
    -5   Z11

Сөрөг тоо Z-ээр, эерэг тоо 1-ээр эхэлдгийг анхаараарай.

Хувиргах алгоритм

Өгөгдсөн тоог эхлээд ердийн гуравтын тооллын системд түр илэрхийлэх замаар тэнцвэржүүлсэн гуравтын систем-д илэрхийлэхэд амархан. Утга стандарт гуравтын системд байх үед түүний цифрүүд нь 0, 1 эсвэл 2 байна. Хамгийн бага цифрээс эхлэн давтахад бид 0 ба 1-г аюулгүйгээр алгасаж болох ба харин 2-ыг Z болгож, дараагийн цифр дээр 1 нэмнэ. 3 цифрийг мөн ижил нөхцлөөр 0 болгоно — ийм цифр тоонд эхлээд байхгүй боловч зарим 2-ыг нэмэгдүүлсний дараа тааралдаж болно.

Жишээ 1: 64-г тэнцвэржүүлсэн гуравтын систем рүү хувиргая. Эхлээд бид тоог ердийн гуравтын системээр дахин бичнэ:

$$ 64_{10} = 02101_{3} $$

Хамгийн бага (баруун талын) цифрээс эхлэн боловсруулъя:

  • 1, 0 ба 1-г байгаагаар нь алгасана. (Учир нь тэнцвэржүүлсэн гуравтын системд 0 ба 1 зөвшөөрөгддөг)
  • 2-ыг Z болгож, зүүн талын цифрийг нэмэгдүүлснээр бид 1Z101 авна.

Эцсийн үр дүн нь 1Z101.

Байрлалын жинтэй утгуудыг нэмэх замаар үүнийг аравтын систем рүү буцаан хувиргая:

$$ 1Z101 = 81 \cdot 1 + 27 \cdot (-1) + 9 \cdot 1 + 3 \cdot 0 + 1 \cdot 1 = 64_{10} $$

Жишээ 2: 237-г тэнцвэржүүлсэн гуравтын систем рүү хувиргая. Эхлээд бид тоог ердийн гуравтын системээр дахин бичнэ:

$$ 237_{10} = 22210_{3} $$

Хамгийн бага (баруун талын) цифрээс эхлэн боловсруулъя:

  • 0 ба 1-г байгаагаар нь алгасана. (Учир нь тэнцвэржүүлсэн гуравтын системд 0 ба 1 зөвшөөрөгддөг)
  • 2-ыг Z болгож, зүүн талын цифрийг нэмэгдүүлснээр бид 23Z10 авна.
  • 3-ыг 0 болгож, зүүн талын цифрийг нэмэгдүүлснээр бид 30Z10 авна.
  • 3-ыг 0 болгож, зүүн талын цифрийг (анхдагчаар 0 байгаа) нэмэгдүүлснээр бид 100Z10 авна.

Эцсийн үр дүн нь 100Z10.

Байрлалын жинтэй утгуудыг нэмэх замаар үүнийг аравтын систем рүү буцаан хувиргая:

$$ 100Z10 = 243 \cdot 1 + 81 \cdot 0 + 27 \cdot 0 + 9 \cdot (-1) + 3 \cdot 1 + 1 \cdot 0 = 237_{10} $$

Дасгал бодлогууд