Friday, September 11, 2009

Decimal to Binary & Binary to Decimal

10тын тооллын системээс 2тын тооллын систем рүү хөрвүүлэх арга нь хуваах. Жишээн дээр тайлбарлая.
27 гэсэн 10тын тооллын системийн тоог 2тын тооллын систем рүү хөрвүүлье.
27/2=13 ба 1 үлдэгдэл. 13/2=6 үлдэгдэл 1. 6/2=3 үлдэгдэл 0. 3/2=1 үлдэгдэл 1. 1/2=0 үлдэгдэл 1.
Харин одоо үлдэгдэл тоонуудыг араас нь эхлээд бичвэл 11011 болно. Өөрөө хэлбэл 10тын тооллын 27 гэдэг тоо нь 2тын тооллын системд 11011 гэсэн үг. Өөр нэг жишээ авъя. 105 гэж тоог хөрвүүлье.
Хувааж байгаа тоо-ноогдвор-үлдэгдэл
105 - 52 - 1
52 - 26 - 0
26 - 13 - 0
13 - 6 - 1
6 - 3 - 0
3 - 1 - 1
1 - 0 - 1

Сүүлээс нь эхлээд урагш нь бичвэл 1001011 болж байна.
Одоо харин бутархай тооны хувьд. Үнэнийг хэлэхэд хэтэрхий том тоог хуваагаад бичээд суух нь залхуутай байгаа болохоор бага тоон дээр хийе. 3.26 гэж тоог 2тын тооллын систем рүү хөрвүүлье.
Бүхэл хэсэг буюу 3 нь 11 тэй тэнцүү. Харин бутархай хэсгийг нь ингэж хөрвүүлнэ.
0.26х2=0.52 эндээс бүхэл хэсэг 0ийг авна.
0.52x2=1.04 эндээс бүхэл хэсэг 1ийг нь авна. Тэгээд 11ийнхээ ард бичихэд 11.01 болно. Үүнийг цааш нь үргэлжлүүлж болох боловч бутархай хэсэгт 2оос илүү орны хэрэггүй.
Харин одоо 2тын тооллын системээс 10тын тооллын систем рүү хөрвүүлэх аргыг авч үзье. Товчхон хэлбэл орных нь тоогоор 2ын 0 зэргээс эхлээд хооронд нь нэмнэ. 0 таарч байгаа хэсгийг нь 0-ээр тооцох буюу нийлбэрт оруулахгүй. Жишээ нь:
1011 гэсэн 2тын тооллын системийн тоог 10тын тооллын систем рүү хөрвүүлье.

1 0 1 1
8 4 2 1 => 8+2+1=11. Нийлбэрт 4-ийг оруулалгүй нэмж байгаа шалтгаан нь 2ын 2 зэрэг буюу 4т харгалзах утга нь 0.
Үүнээс арай том тоо буюу 10111111 гэсэн жишээ авч үзье. Энэ тохиолдолд болохоор илүү амар арга нь эхлээд 2-ын 8 зэргийг олно. Энэ нь 256. Үүнээс 6 зэрэг болох 64-ыг бас 1-ийг хасна. Тэгэхээр 191 болно. Өөрөөр хэлбэл 2тын тооллын системийн хэдэн оронтой тоо байна түүнийх нь зэргийг олоод 0-тэй тэнцэж байгаа харгалзах утгуудынх нь нийлбэр дээр 1-ийг нэмээд хасахад гарна гэсэн үг.
Харин одоо 2тын тооллын системийн бутархай тоог 10тын тооллын систем рүү шилжүүлье. Жишээ: 1111.101
1011 ийг өмнөх аргаараа шилжүүлбэл 11. Бутархай хэсгийг нь мөн адил 2тын зэрэгт дэвшүүлнэ. Гэхдээ ялгаа нь бүхэл хэсэг дээр хойноос нь эхэлж байсан бол бутархаа дээр цэгийн ардаас эхлэх ба хасах зэрэг дэвшүүлнэ. Хасах зэрэг дэвшүүлэхдээ -1 ээс эхэлнэ. Өөрөөр хэлбэл 0.101 => 1/2 + 1/8 = 5/8 = 0.622 болно. 1111.101(2)=11.622(10)

Ингээд дуусгая. Өөрөө янз бүрийн тоо хувиргаж үзээрэй.

Decimal Binary
0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001

No comments:

Post a Comment