Задания
Версия для печати и копирования в MS Word
Тип Д11 № 226
i

В не­ко­то­рой базе дан­ных хра­нят­ся за­пи­си, со­дер­жа­щие ин­фор­ма­цию о не­ко­то­рых датах. Каж­дая за­пись со­дер­жит три поля: номер года (число от 1 до 2100), номер ме­ся­ца (число от 1 до 12) и номер дня в ме­ся­це (число от 1 до 30). Каж­дое поле за­пи­сы­ва­ет­ся от­дель­но от дру­гих полей с ис­поль­зо­ва­ни­ем ми­ни­маль­но воз­мож­но­го ко­ли­че­ства бит. Опре­де­ли­те ми­ни­маль­ное ко­ли­че­ство бит, не­об­хо­ди­мое для ко­ди­ро­ва­ния одной за­пи­си. (Ответ дайте в битах.)

Спрятать решение

Ре­ше­ние.

Из­вест­но, что с по­мо­щью N бит можно за­ко­ди­ро­вать 2N раз­лич­ных чисел. Т. к. поля не­за­ви­си­мы, то для каж­до­го нужно своё ми­ни­маль­ное число бит.

 

Для поля с но­ме­ром года 211 < 2100 < 212, зна­чит, ми­ни­маль­ное ко­ли­че­ство бит для этого поля 12.

 

Номер ме­ся­ца: 23 < 12 < 24, зна­чит, для этого поля  — 4 бита.

 

Номер дня: 24 < 30 < 25, зна­чит, этому полю со­от­вет­ству­ют 5 бит.

 

Итого для одной за­пи­си нужно: 12 + 4 + 5 = 21 бит.

Раздел кодификатора ФИПИ: 1.1.3 Дис­крет­ное (циф­ро­вое) пред­став­ле­ние раз­лич­ной ин­фор­ма­ции