![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2007
Сообщений: 102
|
Уважаемые флэшеры
![]() Прошу помощи по решению задач по информатике за первый курс, из 10 задач сделал 8, а оставшиеся две не пойму как делать, ответы не сходятся, если кто знает плиз помогите.. 1) Для написания слова "слово" была использована таблица кодировки ASCII, состоящая из 256 символов. Какова избытоность таблицы кодировки ASCII для написания этого слова? 2) Представить число 5,2 (в десятичной системе счисления) в нормализованном виде с одинарной точностью в разрядной сетке машины. Плиииз ![]() |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
ASCII в принципе не содержит кириллицы
![]() |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 102
|
Задачи составлены нашим преподавателем по информатике, ыхых... Суть думаю в том что сообщение состоит из 5 знаков и 4 символов... А как решить - хз, подобную решал, а это не могу
зла не хватает )) |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Ну... ASCII изначально была 7 битовая, то есть 128 символов и там не было кроме латиницы букв других языков не было. 8 битовая версия позволяет в верхнем диапазоне содержать национальные символы. И раз в задаче сказано 256 символов, значит о ней и речь. И как правильно заметил artemst, слово "слово" содержит 4 символа, которые могут описаться 2 битами, то есть 6 бит избыточны. Ну или 252 символа. Смотря от чего отталкиваться.
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 102
|
однако ответ в первой задаче - 0.75, как так, не понятно (
Последний раз редактировалось artemst; 21.12.2008 в 02:49. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 102
|
Спасибо, похоже действительно так и есть.
А можете помоч оформить это всё в виде решения? Последовательность что-ли, поподробнее чтоб.. Мне это нужно оформить с формулами и всеми подсчётами, как положено, а я так и не понимаю до конца как вы нашли некоторые цифры. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
А по второй задаче ответ 01000000101001100110011001100110?
В слове "слово" 5 букв и 4 символа "с", "л", "о" и "в". Для обозначения 4 символов достаточно 2 бита, так как они дают 4 состояния: 00, 01, 10 и 11. А для кодирования 256 символов ASCII нужно 8 бит. Следовательно 6 бит для нашей задачи избыточны, а это 75% или 0,75. |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 102
|
Спасибище, вы - супер-супер
Во второй ответ "0,101(0011)*(два в третьей степени) (32 р)" - думаю, вы назвали правильный ответ, а это сокращенный его вид. (как подсчитали кстати? )Последний раз редактировалось artemst; 21.12.2008 в 03:54. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Теория
Общая http://ru.wikipedia.org/wiki/%D0%A7%...81%D1%82%D0%B8 Подробная http://www.rsdn.ru/article/alg/float.xml Число положительное, значит первый бит 0. Далее раскладываем целю и дробную часть Целая часть 5 = 4 + 1 = 101 (двоичная система) Далее нормализуем (что такое читаем в подробной теории) 1.01 * 2^2 2 (степень) + 127 (сдвиг экспоненты) = 129 = 10000001 (в двоичной системы) Теперь у нас есть кроме знакак и экспонента и часть мантиссы (01 из 1.01, но 1. откидывается как описано в подробной теории) 0|10000001|01 Но в мантису одинарной точности входит 23 бита, а у нас заполнено только 2, остальные берем от дробной части нашего числа, то есть 0.2 Дробная часть В двоичной системы дроби записываются как сумма числе 2^-n. Например 0.625 = 0.5 + 0.125 = 2^-1 + 2^-3 = 1.101 (двоичная система) В нашем случаи точно 0.2 мы таким способом не получим (поэтому в вашем ответ стоит период), но нам нужны только первые 21 бит (два бита мы уже заполнинили) итого 0.2 примерно равно 0.125 + 0.0625 + 0.0078125 + 0.00390625 + 0.00048828125 + 0.000244140625 + 0.000030517578125 + 0.0000152587890625 + 0.0000019073486328125 + 0.00000095367431640625 = 1.00110011001100110011 (в двоичной системе) Теперь дописываем эти биты и получаем 0|10000001|0100110011001100110011, но в мантиссе вышло 22 бита, а не 23, поэтому дописываем 0 и выходит 0|10000001|01001100110011001100110 |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:31. |
|
|
« Предыдущая тема | Следующая тема » |
|
|