Имя: Пароль:
IT
 
Системы счисления. Правильно ли я решил?
0 ErrorEd88
 
19.04.15
00:54
Добрый день. [B]Правильно ли я решил задачу?[/B]
Последний раз занимался подобным в институте, а тут одному "двоечнику" срочно понадобилась помощь и отказать не получится)

Условие задачи:
Выполнить арифм. операции над числами с фиксированной точкой (в прямом, обратном и дополнительном кодах):
38 + 5
1. Перевести число в двоичную систему счисления.
2. Образовать прямой, обратный и дополнительный коды числа.
3. Выполнить арифметическую операцию в прямом, обратном и дополнительных кодах.
4. Перевести результат в десятичную систему
5. Проверить результат, выполнив соответствующую арифм. операцию в десятичной системе счисления.

Как решил я:
1. Разделил на 2 в столбик числа 38 и 5. Получил 100110 и 101. Сверился с гуглом, вроде правильно)
2. Как я понял у положительных чисел прямой, обратный и дополнительный код - равны друг другу и ничего делать не надо.. Правильно?
3.Сложил в столкиб 100110 и 101, получил 101011.
4. Перевел, получилось 43. Вроде все сошлось)
Только не могу понять что такое [B]число с фиксированной точкой[/B]?
Все сделано верно? Заранее спасибо)
1 rphosts
 
19.04.15
05:41
как-бэ Универ закончил 20 лет назад, нтак что не на 100% уверен, но доп. код != код для любого числа.
для 100110 допкод = 011001
число с фиксированной точкой это например формата XXX.XX а с плавающей пишут в ручную типа так: x.xxxEyy где x,y - произвольные числа а Е - литерал "Е"
2 Torquader
 
19.04.15
14:25
Обратный и дополнительный коды - это способы представления отрицательных чисел на компьютере.
Обратный код - это "отражение" числа (двоичное NOT Value)
В обратных кодах есть два ноля - это +0 и -0.
Дополнительный код получается, если к обратному добавить единицу.
Дополнительный код - это дополнение указанного числа до ноля.
При этом, старший разряд, выходящий за пределы разрядной сетки отбрасывается.

Понятно, что для положительных чисел все три кода совпадают.

Никто не мешает по тем же правилам рассматривать не двоичные, а десятичные числа - тогда тоже можно образовать коды (рассматривая фиксированную десятичную разрядность и игнорируя переносы за её пределы).