![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.04.2011
Сообщений: 14
|
![]()
Народ, помогите найти ошибку. Даны два числа в двоичной системе: А = -1101.011001 и В = 1001101.001. Необходимо выполнить сложение, ограничив числа шестью старшими разрядами в дополнительном коде.
Делаю так: 1. Округляю до 6 старших разрядов: А = -1101.10 и В = 100111 2. Перевожу в формат с плавающей точкой: А = -0.110110 * 10^10000 В = 0.100111 * 10^1000000 3. Теперь выравниваю порядок: А = -0.00110110 * 10^1000000 В = 0.100111 * 10^1000000 4. Представляю числа в дополнительном коде: А = 1.111001010 * 10^1000000 В = 0.0100111 * 10^1000000 5. И, наконец, выполняю сложение мантисс: 1.111001010 0.010011100 1.001100110 6. При переводе в прямой код получаю: С = 0.110011010 * 10^1000000 или С = 11001.1010 Вопрос, почему в дробной части появляются лишние разряды (вместо положенных 0.10 получили 0.1010). Ребята, подскажите, что делаю не так? Заранее спасибо! |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сложение двоичных чисел | _Лето_ | Общие вопросы C/C++ | 0 | 23.11.2013 21:52 |
Сложение двоичных чисел!!! | 2008kedr2008 | Общие вопросы C/C++ | 4 | 11.05.2011 14:57 |
сложение 10 двоичных чисел | sssvetlaya | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 10.11.2009 09:32 |
Сложение отрицательных чисел в дополнительном коде | Fataller | Помощь студентам | 0 | 28.10.2009 19:12 |