Шестнадцатеричный UTF-32 в двоичный код.
Мы рассматриваем число 0001045916 в шестнадцатеричной системе счисления и
хотим перевести его в двоичную. Для этого переведем его сначала в десятичную вот
так по формуле:
(ABC)d = (A * d2 + B * d1 + C * d0)10 , где
имеется число ABC в системе счисления с основанием d. Для перевода в 10-ю систему необходимо цифру каждого разряда числа умножить на dn (d в степени n), где n – номер разряда. После умножения всё сложить.
(ABC)d = (A * d2 + B * d1 + C * d0)10 , где
имеется число ABC в системе счисления с основанием d. Для перевода в 10-ю систему необходимо цифру каждого разряда числа умножить на dn (d в степени n), где n – номер разряда. После умножения всё сложить.
0001045916 = 0×167 + 0×166 + 0×165 + 1×164 + 0×163 + 4×162 + 5×161 + 9×160 =
0 + 0 + 0 + 65536 + 0 + 1024 + 80 + 9 = 6664910
Получилось: 6664910
Переведем 6664910 в двоичную систему вот так:
66649 : 2 = 33324 (остаток 1)
33324 : 2 = 16662 (остаток 0)
16662 : 2 = 8331 (остаток 0)
8331 : 2 = 4165 (остаток 1)
4165 : 2 = 2082 (остаток 1)
2082 : 2 = 1041 (остаток 0)
1041 : 2 = 520 (остаток 1)
520 : 2 = 260 (остаток 0)
260 : 2 = 130 (остаток 0
130 : 2 = 65 (остаток 0)
65 : 2 = 32 (остаток 1)
32 : 2 = 16 (остаток 0)
16 : 2 = 8 (остаток 0)
8 : 2 = 4 (остаток 0)
4 : 2 = 2 (остаток 0)
2 : 2 = 1 (остаток 0)
1 : 2 = 0 (остаток 1)
Получилось: 6664910 = 100000100010110012
Результат перевода:
0001045916 = 100000100010110012