|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.10.2008, 12:43 | #1 |
Регистрация: 28.10.2008
Сообщений: 5
|
Несовсем программирование... нужна помощь
Сразу извиняюсь, это не совсем связано с программированием но очень очень нужно чтобы вы мне помогли
Значит есть у меня двоичное двойное слово - 1111101110100000000000000000000 Задание:Распишите формулу для перевода мантиссы в десятичную систему счисления как числа с целой и дробной частью и получите десятичное значение мантиссы. Ну вопервых я нашел характеристику 11110111 = 247, уменьшил её на 127 = 120. Сразу скажу честно зачем характеристика нужна я не понимаю 1 разряд это знак мантиссы то есть число в минусе. ну я прикинул что -1,01 = 1*2^0+0*2^-1+1*2^-2 = -1,25 это правильно? Просто незнаю к кому еще обратиться! Так, что объясните мне пожалуйста правильно ли я все сделал и зачем нужна характеристика! |
28.10.2008, 13:51 | #2 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
отвечаю на ваш вопрос:
120 - это не мантисса....... это экспонента....... она может принимать значения от 127 до -128....... для этого и прибавляется 127...... запись мантиссы в вашем случае "101"........ т.е. "1,01"......... но!! вы не учли один момент...... мантисса всегда выравнивается, чтобы её первый знак был "1"...... поэтому его просто не записывают........ значит ваша мантисса "1,101" переводим...... получаем "1,625"....... экспонента означает умножение на 2 в степени "экспонента"....... значит всё число "-1,625 умножить на (2 в степени 120)"...... большое число...... 37 знаков))))) но раз вам только мантиссу надо, то "-1,625"
Надо бы избавиться от привычки ставить многоточие.....
|
28.10.2008, 14:39 | #3 | |
Регистрация: 28.10.2008
Сообщений: 5
|
Цитата:
P.S. Раз я это число умножаю на 2 в степени экспоненты то получается что число всегда положительное? Последний раз редактировалось zwook; 28.10.2008 в 14:43. |
|
28.10.2008, 14:44 | #4 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Min, по-моему Вы путаете. У ТС все правильно.
(правда, в числе не хватает одного одного разряда. Но если ТС говорит, что знак "-", будет считать, что просто не дописан один 0). Разбиваем число - ----8---- ------------23-------------- 1 11110111 0100000 00000000 00000000 Перед мантиссой неявная единица 1.01 -1,25*2^120 = -1,66153499473114e+36 (просто на калькуляторе) Ну, и для проверки: Код:
|
28.10.2008, 14:56 | #5 |
Форумчанин
Регистрация: 12.09.2008
Сообщений: 239
|
да да да))))) пардон...... это я циферки посчитал криво..... я их с конца считал, а там действительно нуля нехватает)))))........ извинителяюсь)))))) действительно "-1,25"......
нащет экспоненты...... она записывается как положительное число..... у неё нету отдельного бита знака...... вот поэтому записывается сумма со 127...... чтобы отрицательные числа задействовать можно было...
Надо бы избавиться от привычки ставить многоточие.....
|
28.10.2008, 15:32 | #6 | |
Регистрация: 28.10.2008
Сообщений: 5
|
Цитата:
|
|
28.10.2008, 16:32 | #7 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
Вы имеете в виду двойное слово для представления целого и такое-же для вещественного ? - тогда никак. Это зависит от того, как Вы их используете.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нужна помощь | Caragius | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 08.04.2010 17:29 |
Нужна помощь(сетевое программирование) | mager | Общие вопросы C/C++ | 6 | 14.02.2008 06:47 |
Нужна помощь по Си. | Coach | Помощь студентам | 3 | 08.11.2007 01:08 |