Тооны сууриудыг хөрвүүлэх зарчим
Тооцоолох техникт тоонуудыг өөр өөр суурьтай тооллын системд илэрхийлэх шаардлага тогтмол гардаг. Хамгийн түгээмэл хэрэглэгддэг системүүд нь хоёртын (binary), наймтын (octal), аравтын (decimal), болон арван зургаатын (hexadecimal) системүүд юм. Эдгээр системүүдийн хооронд тоог ямар нэгэн тоймлолтгүйгээр, яг таг хөрвүүлэх нь програм хангамж хөгжүүлэлт болон техникийн тооцоололд маш чухал үүрэгтэй.
- Хоёртын систем (Binary): Компьютерийн дотоод логик түвшинд өгөгдлийг хадгалах үндсэн суурь бөгөөд зөвхөн 0 ба 1 гэсэн цифрүүдээс бүрдэнэ.
- Наймтын систем (Octal): 0-ээс 7 хүртэлх цифрүүдийг ашигладаг бөгөөд хоёртын кодын гурван битийг нэг цифрээр төлөөлөх боломжийг олгодог.
- Аравтын систем (Decimal): Хүмүүсийн өдөр тутмын амьдралдаа хэрэглэдэг, 0-ээс 9 хүртэлх цифрүүдээс бүрдэх уламжлалт систем юм.
- Арван зургаатын систем (Hexadecimal): 0-ээс 9 хүртэлх цифрүүд болон A-аас F хүртэлх үсгүүдийг ашигладаг. Энэ систем нь хоёртын кодын дөрвөн битийг (нэг ниббл) нэг тэмдэгтээр илэрхийлдэг тул санах ойн хаягжилт болон өнгөний кодлолд өргөн хэрэглэгддэг.
Эдгээр системүүдийн хооронд хөрвүүлэлт хийхэд тооны хэмжээ хязгааргүй байх бөгөөд BigInt архитектурын тусламжтайгаар 4,096 хүртэлх тэмдэгтийн урттай дурын нарийвчлалтай бүхэл тоог нарийвчлал алдахгүйгээр хөрвүүлдэг.
Тооны горимын оролт, гаралтын дүрэм
Тооны горимд ажиллах үед хэрэглэгч "Хоёртын (Binary)", "Наймтын (Octal)", "Аравтын (Decimal)", эсвэл "Арван зургаатын (Hex)" талбаруудын аль нэгэнд утга оруулахад бусад гурван талбар шууд шинэчлэгдэнэ. Оролтын тоог бичихдээ дараах форматын дүрмүүдийг баримталж болно:
- Тооны өмнө хасах тэмдэг (
-) ашиглан сөрөг тоог илэрхийлж болно. Сөрөг тоонууд нь бүх сууринд хасах тэмдэгтэйгээ хадгалагдан хөрвүүлэгдэнэ. - Тооны өмнөх болон арын сул зай, мөн тоон доторх доогуур зураас (
_) болон зай авагч тэмдэгтүүдийг зөвшөөрнө. - Оролтод тооллын системийг илэрхийлэх
0b(хоёртын),0o(наймтын), эсвэл0x(арван зургаатын) угтваруудыг ашиглаж болно.
Гаралтын үр дүнг форматлахдаа систем бүрд дараах дүрмийг баримтална:
- Хоёртын гаралт: 8 бит хүртэлх урттай байхаар урд талдаа тэгүүдээр дүүргэгдэнэ (padded).
- Наймтын гаралт: 3 бит хүртэлх урттай байхаар урд талдаа тэгүүдээр дүүргэгдэнэ.
- Арван зургаатын гаралт: 2 бит хүртэлх урттай байхаар урд талдаа тэгүүдээр дүүргэгдэх бөгөөд үсгүүдийг том үсгээр харуулна.
- Аравтын гаралт: Урд талдаа ямар нэгэн тэгээр дүүргэгдэхгүй.
Хэрэв оруулсан тоо нь тухайн суурийн дүрэмд тохирохгүй байвал "Тухайн суурийн хувьд хүчингүй тоо байна — агуулагдах боломжгүй цифрүүд байгаа эсэхийг шалгана уу." гэсэн алдааг заана. Амжилттай хөрвүүлсний дараа төлөв нь "Хөрвүүлсэн." болж өөрчлөгдөх бөгөөд оролтыг цэвэрлэхэд "Арилгасан." төлөвт шилжинэ.
Бичвэр болон байт хөрвүүлэлт (UTF-8)
Компьютерийн системд тэмдэгтүүдийг хадгалах, дамжуулахын тулд тэдгээрийг байт утгууд руу хөрвүүлэх шаардлагатай болдог. Энэхүү хэрэгсэл нь UTF-8 кодлолыг ашиглан дурын бичвэрийг байт утга руу хөрвүүлэх эсвэл байт утгуудыг буцаан бичвэр болгон декодлох үйлдлийг гүйцэтгэдэг.
"Бичвэр → Байт" чиглэлд ажиллах үед хэрэглэгчийн оруулсан бичвэрийг сонгосон байтын суурийн (хоёртын, наймтын, аравтын, эсвэл арван зургаатын) дагуу байт цуваа болгон хөрвүүлнэ. Оролтын бичвэрийн дээд хязгаар нь 200,000 тэмдэгт байна. Хэрэв энэ хязгаарыг хэтрүүлбэл "Энэ хэрэгсэлд хэтэрхий урт байна — арай богино оролт ашиглана уу." гэсэн алдааны мэдэгдэл гарна. Амжилттай кодлосны дараа төлөв нь "Кодлосон." болж өөрчлөгдөнө.
"Байт → Бичвэр" чиглэлд ажиллах үед хэрэглэгч байт утгуудыг зай эсвэл таслалаар тусгаарлан оруулж болно. Оролтын утгууд нь дараах шаардлагыг хангасан байх ёстой:
- Утга бүр нь сонгосон суурийн дагуу 0-ээс 255-ын хоорондох нэг байтын хязгаарт багтах ёстой. Хэрэв энэ хязгаараас хэтэрсэн эсвэл тухайн сууринд хамаарахгүй тэмдэгт оруулбал "Хүчингүй байт код байна — утга бүр нь сонгосон суурийн дагуу нэг байт (0–255) байх ёстой." гэсэн алдаа гарна.
- Оруулсан байтууд нь зөв бүтэцтэй UTF-8 байт цувааг үүсгэх ёстой. Хэрэв байтын дараалал нь UTF-8 стандартад нийцэхгүй байвал "Эдгээр байтууд нь хүчинтэй UTF-8 биш байгаа тул бичвэр хэлбэрээр харуулах боломжгүй." гэсэн алдааг буцаана.
Амжилттай декодлосны дараа системийн төлөв "Декодлосон." болж шинэчлэгдэнэ.
Өгөгдлийн нууцлал ба боловсруулалт
Энэхүү хөрвүүлэгч хэрэгслийг ашиглах үед өгөгдлийн аюулгүй байдал бүрэн хангагдана. Хөрвүүлэлт бүр таны хөтөч дээр ажиллана. Таны тоо болон бичвэр таны төхөөрөмжөөс хэзээ ч гарахгүй бөгөөд ямар нэгэн гадны сервер рүү дамжуулагдахгүй. Бүх тооцоолол локал орчинд шууд хийгддэг тул нууцлалтай өгөгдөлтэй ажиллахад тохиромжтой.
Түгээмэл асуултууд (FAQ)
Энд юу хөрвүүлж болох вэ? Хоёр төрлийн горим бий. Тооны горим нь хоёртын, наймтын, аравтын, арван зургаатын тоонуудыг холбодог — аль нэг талбарыг өөрчлөхөд бусад нь шууд шинэчлэгдэнэ. Бичвэрийн горим нь дурын бичвэрийг таны сонгосон суурьтай байт утга руу хөрвүүлж, тэдгээр байтуудыг буцаан бичвэр болгож уншдаг.
Энэ нь сөрөг болон маш том тоонуудыг хөрвүүлж чадах уу? Тийм. Сөрөг тоонууд нь суурь бүрд хасах тэмдэгтэйгээ үлдэх бөгөөд хэмжээний хязгаарлалт байхгүй — утгууд нь ямар нэгэн тоймлолтгүйгээр яг таг хөрвөнө. Битүүдийн өргөнийг сонгосны дараа л утга учиртай болдог тул тогтмол өргөнтэй хоёрын гүйцээлт (two's-complement) харагдацыг энд оруулаагүй.
Миний оруулсан өгөгдөл хаа нэгтээ илгээгдэх үү? Үгүй. Бүх тооцоолол таны хөтөч дээр локал байдлаар хийгддэг тул таны бичсэн зүйлс хаашаа ч илгээгдэхгүй.
Бичвэрийг байт руу хөрвүүлэхэд ямар кодлол ашигладаг вэ? Бичвэрийг байт руу хөрвүүлэх болон байтыг буцааж бичвэр болгон декодлоход олон улсын стандарт UTF-8 кодлолыг ашигладаг. Тиймээс оруулж буй байт цуваа нь хүчинтэй UTF-8 форматтай байх шаардлагатай.