Преобразуване на бройни системи
Как да преобразуваме числа от десетична система в други системи и обратно – как да преобразуваме числа от други системи в десетична.
Какво е бройна система
Обикновено работим с десетичната система. Тази система има десет цифри: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Характерно за десетичната система е, че когато някое число, например 57, умножим по десет, се изместваме с един разред – за записа на числото ни трябва с една цифра повече: 570.
Може да имаме и други бройни системи, например осмичната система би съдържала само цифрите 0, …, 7. Изразът 7 + 1 би бил равен на 10, защото в осмичната система нямаме цифра 8. Шестнадесетичната система би имала цифрите 0, 1, … 14, 15. Понякога вместо цифрите, по-големи от 9, използваме букви, така че шестнадесетичната система би имала цифрите 0, …9, A, B, C, D, E, F.
Изненадващо, с други бройни системи се срещаме и в ежедневието. Например времето – секундите и минутите броим в шестдесетична система. Всеки момент от деня можем да запишем като число в шестдесетична система с три цифри. Първата цифра показва часовете, втората минутите, третата секундите. Ако за разделител на цифрите изберем двоеточие, имаме например числото 14:05:59. Забележи, че когато към това време добавим една секунда, не получаваме време 14:05:60, а време 14:06:00 – защото 60 не е валидна цифра на шестдесетичната система.
Преобразуване от десетична в двоична система
Нека имаме числото 70. Искаме да го преобразуваме в двоична система. Принципът е доста прост: числото, което искаме да преобразуваме, делим непрекъснато на две, докато стигнем до нула, като записваме остатъците при цялочисленото деление. Ако искаме да преобразуваме числото в друга система, например в шестнадесетична, ще делим на шестнадесет. Ако в шестична, делим на шест. На практика ще изглежда така:
Получаваме числото в двоична система от остатъците при делението. Но не ги вземаме отгоре надолу, а отдолу нагоре. Така числото 70 в двоична система е 1000110.
Преобразуване от двоична в десетична система
Обратно ще преобразуваме така. Нека имаме числото 1100010 и да го преобразуваме в десетична система. Тази посока е по-лесна, достатъчно е да пресметнем следната сума:
Всяко събираемо има вида x · 2i, където x е цифра от първоначалното двоично число, а i се увеличава отдясно наляво всеки път с единица. Тъй като преобразуваме числото 1100010, сумата изглежда така:
Числото 1100010 има седем цифри, така че степенните показатели на числото 2 ще бъдат последователно 6, 5, …, 1, 0. След повдигането в степен и умножението получаваме израза:
Защо този начин работи?
Можем да го покажем с десетичната система. Какво всъщност означават цифрите в едно число, например в числото 7384? Цифрата 4 показва броя на единиците, цифрата 8 – броя на десетиците, цифрата 3 – броя на стотиците, а цифрата 7 – броя на хилядите. Така можем да запишем, че
Този израз можем да преобразуваме още, така че да не използваме числата 100, 10 и 1, а навсякъде да имаме някаква степен на 10. Тъй като 100 = 1 и 101 = 10 и т.н., можем да запишем
Всяко число в десетичната система можем да опишем по същия начин, като отделните събираеми имат вида x · 10i, където x е цифра от 0 до 9 – тези цифри са десет. Стойността i е някакво неотрицателно цяло число, което показва разреда. Ако i = 0, събираемото показва единиците, ако i = 2, показва стотиците (защото 102 = 100).
Нека сега преобразуваме числото 7348 от десетична система в, ъъъ…, десетична система. Ще има смисъл. Числото 7348 ще делим на 10:
Ако прочетем остатъците отдолу нагоре, имаме числото 7348 – отново първоначалното число, което се опитвахме да преобразуваме … в същата система.
Ако искаме да опишем двоичната система, постъпваме по съвсем същия начин – всички събираеми ще имат вида x · 2i, където x е цифрата 0 или 1. Стойността i отново показва разредите. Както последователното деление на десет ни дава броя на разредите в числото в десетичната система, така последователното деление на две ни дава броя на разредите в двоичната система.
Същевременно забележи, че когато делим число на десет и питаме за остатъка, този остатък винаги ще е в интервала [0; 9]. Ако делим число на две, остатъкът може да е или 0, или 1.
Преобразуване в други системи
Предишният начин за преобразуване от десетична в двоична система е толкова универсален, че може да се използва и за други системи. Ако искаме да преобразуваме числото 185 в шестнадесетична система, просто делим на 16:
Числото 185 би имало в шестнадесетичната система вида (11; 9). Вместо „цифрите“ над 9 обикновено се използват букви, така че 10 = A, 11 = B, 12 = C, … Можем да запишем, че числото 185 има в шестнадесетичната система вида B9.
Подобно можем да преобразуваме числото B9 от шестнадесетична в десетична система.