Просмотр полной версии : Задачи по информатике (2 штуки)
Уважаемые флэшеры :drinks:
Прошу помощи по решению задач по информатике за первый курс, из 10 задач сделал 8, а оставшиеся две не пойму как делать, ответы не сходятся, если кто знает плиз помогите..
1) Для написания слова "слово" была использована таблица кодировки ASCII, состоящая из 256 символов. Какова избытоность таблицы кодировки ASCII для написания этого слова?
2) Представить число 5,2 (в десятичной системе счисления) в нормализованном виде с одинарной точностью в разрядной сетке машины.
Плиииз :)
ASCII в принципе не содержит кириллицы :D
Задачи составлены нашим преподавателем по информатике, ыхых... Суть думаю в том что сообщение состоит из 5 знаков и 4 символов... А как решить - хз, подобную решал, а это не могу :( зла не хватает ))
ASCII в принципе не содержит кириллицы :D
Ну... ASCII изначально была 7 битовая, то есть 128 символов и там не было кроме латиницы букв других языков не было. 8 битовая версия позволяет в верхнем диапазоне содержать национальные символы. И раз в задаче сказано 256 символов, значит о ней и речь. И как правильно заметил artemst, слово "слово" содержит 4 символа, которые могут описаться 2 битами, то есть 6 бит избыточны. Ну или 252 символа. Смотря от чего отталкиваться.
однако ответ в первой задаче - 0.75, как так, не понятно (
Наверно 0,75 не от символов, а от бит, так как 0,75 * 8 = 6.
Спасибо, похоже действительно так и есть.
А можете помоч оформить это всё в виде решения? Последовательность что-ли, поподробнее чтоб.. Мне это нужно оформить с формулами и всеми подсчётами, как положено, а я так и не понимаю до конца как вы нашли некоторые цифры.
А по второй задаче ответ 01000000101001100110011001100110?
В слове "слово" 5 букв и 4 символа "с", "л", "о" и "в". Для обозначения 4 символов достаточно 2 бита, так как они дают 4 состояния: 00, 01, 10 и 11. А для кодирования 256 символов ASCII нужно 8 бит. Следовательно 6 бит для нашей задачи избыточны, а это 75% или 0,75.
Спасибище, вы - супер-супер :)
Во второй ответ "0,101(0011)*(два в третьей степени) (32 р)" - думаю, вы назвали правильный ответ, а это сокращенный его вид. (как подсчитали кстати? :) )
как подсчитали кстати? :)Теория
Общая
http://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%BE%D0%B4%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D0%BE%D0%B9_%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%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
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.