Форум » Циклы и ветвления » Задание 20, №143 » Ответить

Задание 20, №143

M_123: Поправьте меня, не могу разобраться с алгоритмом: L := x mod 16 *m + L; x := x div 16; m:=M*10; Поучаем остаток от деления на 16, сдвигаем на разряд и как я поняла алгоритм переводит число в 16-ую систему счисления, но вместо букв (цифры >9) записывает число. Например, число 163 переведет в число 103: 3 остаток, 10 - А. Но не во всех случаях так получается.

Ответов - 1

polyakovss: Здравствуйте! Алгоритм записывает цифры шестнадцатеричного представления числа x как десятичные. Так число 274810 = ABC16 даст L = 10*100 + 11*10 + 12 = 112210, а число 329410 = CDE16 даст L = 12*100 + 13*10 + 14 = 134410. Если L = 11010 = 10*10 +10, то шестнадцатеричное число равно AA16 = 17010. Ответ: 170. Замечание: 16310 = A316. Поэтому L = 10*10 + 3 = 10310.



полная версия страницы