Форум » Вычисление количества информации » 6380 » Ответить

6380

InViner: (№ 6380) (А. Богданов) Разработчик игры решил присвоить каждому персонажу идентификатор, состоящий из четырех унифицированных китайских иероглифов, которые расположены в таблице Unicode по адресам 4E00.16-9FBB.16. В памяти для хранения каждого идентификатора отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит. Сколько Кбайт памяти необходимо для хранения 4864 идентификаторов? Сама задача понятна, проблема в другом. При решении задачи нужно учитывать количество бит на один символ как 16, потому что это юникод, или как 15 (столько нужно для хранения всех символов из указанного диапазона)? Да, из-за округления результат получается такой же, но ведь нужно знать, какой ход решения верный.

Ответов - 2

Ж: При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит. [pre2] print(log(int('9FBB',16)-int('4E00',16))) >>9.94860431133925 [/pre2] Значит, на этот алфавит необходимо 10 бит, т.к. не весь алфавит покрываем (т.е. не весь UNICODE)

Ж: При этом используют посимвольное кодирование идентификаторов, все символы кодируют одинаковым и минимально возможным количеством бит. Значит, все-таки 15 бит, т.к. не весь алфавит покрываем (т.е. не весь UNICODE)



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