Автор | Сообщение |
|
Отправлено: 18.11.21 17:19. Заголовок: №4136
(А. Богданов) При регистрации в компьютерной системе на каждого сотрудника заводится запись из двух полей: идентификатор и биометрия лица. Идентификатор состоит из семи эмодзи, каждый из которых закодирован в виде трех шестнадцатеричных цифр из диапазона U+1Fххх Unicode символов. Биометрия лица представлена десятью десятичными трехзначными числами. В базе данных для хранения каждого поля отведено минимально возможное целое число байт. При этом используют посимвольное кодирование полей. Все символы (или числа) поля кодируют одинаковым и минимально возможным количеством бит. Определите объём памяти (в Кбайт), необходимый для хранения 256 записей. В ответе запишите только целое число – количество Кбайт. У меня не сошелся ответ. Видимо, что-то не доглядела в условии задачи. Не могли бы вы помочь с решение?
|
|
|
Ответов - 7
[только новые]
|
|
|
| Администратор
|
Сообщение: 3020
|
|
Отправлено: 18.11.21 17:42. Заголовок: Показывайте ваше реш..
Показывайте ваше решение.
|
|
|
|
Отправлено: 18.11.21 19:53. Заголовок: Пока писала сюда, ко..
Пока писала сюда, кое-что исправила в своем решении и ответ стал ближе. Но все-равно очень сомневаюсь в правильности моего понимания. Если используется посимвольное кодирование: K (идентификатора) = 21 (7 по 3) символ N = 16, i = 4 бит, I = 84 бит=11 Б (здесь не понимаю, что значит указанный диапазон U+1Fххх Unicode, не значит ли это что надо 16 бит на символ брать?) К (биометрии) = 30 (10 по 3) символов N = 10, i = 4 бит, I = 120 бит = 15 Б Всего I = 26 Б (для одной записи) I = (26*256)/1024=6,5 Кб
|
|
|
|
Отправлено: 18.11.21 21:19. Заголовок: Мне кажется в решени..
Мне кажется в решении есть ошибки, но так как в ответе нужно записать целое число, то ответ 6 все равно правильный. miory-tyan пишет: цитата: | K (идентификатора) = 21 (7 по 3) символ N = 16, i = 4 бит, I = 84 бит=11 Б |
| miory-tyan пишет: цитата: | Все символы (или числа) поля кодируют одинаковым и минимально возможным количеством бит. |
| 3 шестнадцатеричных цифры кодируют один символ, то есть 16^3 варианта = 2^12 вариантов, i = 12 бит. 12*7=84 бита=11 байт miory-tyan пишет: цитата: | К (биометрии) = 30 (10 по 3) символов N = 10, i = 4 бит, I = 120 бит = 15 Б |
| Десятичное трехзначное число дает 1000 вариантов - i = 10 бит. 10*10=100 бит = 13 байт 13+11=24 байта 24*256/1024=6 Кбайт Константин, резюмируйте, пожалуйста.
|
|
|
|
Отправлено: 18.11.21 23:14. Заголовок: Моё решение: ### v..
Моё решение: ### var emz := 3*4; // бит на один эмодзи var id := (emz*7/8).Ceil; // байт на идентификатор var num := log2(1000).Ceil; // бит на одно "десятичное трехзначное число" var bio := (num*10/8).Ceil; // байт на биометрию var V := (id + bio)*256; // байт на запись * кол-во = объем print($'{V} байт или {V/1024} КБайт'); // 6144 ,байта или ровно 6 КБайт
|
|
|
|
Отправлено: 19.11.21 10:26. Заголовок: То есть в биометрии ..
То есть в биометрии кодируются не символы, а числа? Трехзначных чисел - 900 шт. N = 900, i =10 бит. I = 10 * 10 = 100 бит = 13 Б I (общее)= 13+11 = 24 Б I (256) = (256*24)/1024 = 6 КБ Я правильно поняла?
|
|
|
|
Отправлено: 19.11.21 11:03. Заголовок: Да, правильно. В био..
Да, правильно. В биометрии кодируются именно тройки чисел (100...999). Согласен, что немного непривычно, но тренировочные задачи как раз и способствуют инсайтам для более глубокого понимания темы. Надеюсь, что ФИПИ не будет выводить на экзамен задачи с подобной неоднозначной интерпретацией.
|
|
|
|
Отправлено: 19.11.21 13:09. Заголовок: Для тренировки - сам..
Для тренировки - самое то ! Всем огромное спасибо за помощь!
|
|
|
|