Лучшие помощники
- Megamozg 2200 б
- Matalya1 1800 б
- DevAdmin 1705 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 860 б
2 апреля 2023 20:58
634
ПОЖАЛУЙСТА ПОМОГИТЕ С ЗАДАЧЕ ПО ИНФОРМАТИКЕВ некоторой базе данных хранятся записи,содержащие информацию о некоторых датах. Каждая запись содержит три поля:номер года (число от 1 до 2100), номер месяца (число от 1 до 12) и номер дня в месяце (число от 1 до 31). Каждое поле записывается отдельно от других полей с использованием минимально возможного количества бит.Определите минимальное кол-во бит,необходимое для кодирования одной записи.пожалуйста напишите решение реал очень надо, заранее спасибо.
1
ответ
Все решается через степени двойки.
1. Номер года. Число от 1 до 2100. Можно перевести 2100 в двоичную систему и посмотреть, сколько бит оно займет. Но это долго. Ведь можно просто вспомнить, что 1 Кбайт - это 1024 байта или 2 в десятой степени.
2 в одиннадцатой 2048 (удваиваем), 2 в двенадцатой - 4096. Наш диапазон дат укладывается в интервал между 2048 и 4096, поэтому нам потребуется 12 бит.
2. Номер месяца - их 12. У нас есть 2 в четвертой - это 16, и два в кубе - только 8. Поэтому еще 4 бита запасаем на месяц.
3. Номер дня - максимальный 31. Мы знаем, что 2 в пятой степени равно 32, значит 5 бит будет достаточно. Всего нам потребуется 12+4+5=21 бит.
Ответ: 21 бит.
1. Номер года. Число от 1 до 2100. Можно перевести 2100 в двоичную систему и посмотреть, сколько бит оно займет. Но это долго. Ведь можно просто вспомнить, что 1 Кбайт - это 1024 байта или 2 в десятой степени.
2 в одиннадцатой 2048 (удваиваем), 2 в двенадцатой - 4096. Наш диапазон дат укладывается в интервал между 2048 и 4096, поэтому нам потребуется 12 бит.
2. Номер месяца - их 12. У нас есть 2 в четвертой - это 16, и два в кубе - только 8. Поэтому еще 4 бита запасаем на месяц.
3. Номер дня - максимальный 31. Мы знаем, что 2 в пятой степени равно 32, значит 5 бит будет достаточно. Всего нам потребуется 12+4+5=21 бит.
Ответ: 21 бит.
0
·
Хороший ответ
4 апреля 2023 20:58
Остались вопросы?
Еще вопросы по категории Информатика
Переведите двоичное число 1111001 в десятичную систему счисления...
Пользователь находился в каталоге Расписание. Сначала он поднялся на один уровень вверх , затем спустился на один уровень вниз, потом еще раз спустилс...
Как вызывается контекстное меню?...
Iostream только Код на c++ (cin cout)...
Угадайте правило шифрования и запишите верные слова 1) ниофмрцаяи 2)никемпри 3) еперадач 4) никчисто ...
Все предметы