Добавлю Дрюня что формально последнюю 1 тоже надо делить, что даст в результате 0 с остатком 1, т.е. делить число пока не получится 0. Ну и затем переписываем остатки с последнего к первому. Этим способом можно перевести десятичную в любую другую систему. Да что там, любую в любую, только делить в двоичной или какой нить другой системе кроме десятичной крайне неудобно. А перевод из любой системы в десятичную уже осуществляется суммой умножений каждого разряда числа на разрядность системы счисления в степени номера позиции числа.
Т.е. есть число в шестнадцатеричной A8,6E переведём в десятичную
A - 1 позиция, 8 - 0 позиция, 6 - -1 позиция, E - -2 позиция
К тому же, A в десятичной - 10, а E - 14, получается:
10*16^1 + 8*16^0 + 6*16^(-1) + 14*16^(-2) = 160 + 8 + 0,375 + 0,0546875 = 168,4296875
Переведём двоичное 11010 в десятичную:
1 - 4, 1 - 3, 0 - 2, 1 - 1, 0 - 0
1*2^4 + 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 16 + 8 + 0 + 2 + 0 = 26
Переведём десятичное 15,25 в двоичную:
Целую и дробную часть переводим отдельно
Целая:
15/2 = 7 ост 1
7/2 = 3 ост 1
3/2 = 1 ост 1
1/1 = 0 ост 1
Получилось 0. Дальнейшее преобразование не имеет смысла, т.к. всегда будет получаться 0
Дробная:
Расписываю принцип. Берём дробную часть и теперь умножаем на основание системы счисления. После каждого умножения записываем что получилось в целой часть, затем отбрасываем целую часть у полученного числа и снова умножаем до тех пор, пока в дробной части не будет 0:
0.25 * 2 = 0.5 - в целой части получилось 0, по этому запишем 0, целую часть отбрасываем.
0.5 * 2 = 1 - в целой часть получилось 1, запишем 1, целую часть отбрасываем.
В получилось 0. Дальнейшее преобразование бессмысленно, т.к. будет получаться 0
Теперь остатки целой части переписываем от последнего к первому, ставим запятую, а дробную часть переписываем в прямом порядке, от первого к последнему.
Получилось: 1111,01
Преобразуем десятеричное 123 в шестнадцатеричную:
123/16=7 ост 11 - т.е. B
7/16=0 ост 7
Перепишем: 7B
Сообсно вот.
