Мальчик Олимджон составляет пароль для аккаунта в социальной сети. Он использует для этого набор строчных и прописных букв английского алфавита, арабские цифры и следующие специальные символы(разделены запятыми): #, -, =, +, %, (. Определить длину двоичного кода, необходимую для записи одного символа в составленном пароле. В ответе указать число - использованную длину двоичного кода.
Для начала определим что такое разряд числа. Разряд это порядковый номер цифры, и счет начинается с запятой, отделяющей дробь, счет начинается с 0 разряда до последней цифры. Например, число 1234,0: 0 разряд - 4, 1 разряд - 3, 2 разряд - 2 и 3 разряд единица.
Теперь определимся как переводить из 16й в 10ю. Для перевода шестнадцатеричного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания шестнадцатеричной системы счисления на соответствующие цифры в разрядах шестнадцатеричного числа.
Т.е.:
Чтобы перевести буквы в числа надо воспользоваться списком:
A=10; B=11; C=12; D=13; E=14; F=15
Теперь расмотрим данные нам числа:
Записываем 4A98 в расширенной форме по степеням основания (т.е. 16 в нашем случае):
2. Шестнадцатиричное представление переводим в восьмеричное.
Поскольку , перевод удобно сделать через промежуточную двоичную систему.
Каждую шестнадцатиричную цифру заменяем четырьмя двоичными цифрами (так называемой тетрАдой).
0100 1010 1001 1000 . 1011 1100 0010 (2)
Разбиваем двоичное число на триАды (по три разряда) влево и вправо от десятичной точки и каждую триаду заменяем восьмеричной цифрой (они по написанию совпадают с десятичными). Если разрядов для триады не хватает, дополняем их нулями слева для целой части и справа для дробной.
100101010011000.10111100001 (2)= 100 101 010 011 000.101 111 000 010=
45230.5702(8)
ответ: 4A98.BC2(16)=19096.73486328125(10)=45230.5702(8)