помогите решить задачу по дисциплине "Микропроцессоры и микрокомпьютеры":
сложить числа -26 и 39 в двоичной и шестнадцетиричной системах счисления.
// Решение задачи должно быть подробно описано.
Другие языки программирования и технологии
решите простую задачку
В двоичной системе:
Число -26 это 1.011010, так как число отрицательно, то в дополнительном коде оно будет принимать вид
1.011010 -инверсия-> 1.100101 + 1 = 1.100110
Число 39 это 100111, так как число положительное, то в дополнительном коде оно
0.100111
Складывать числа необходимо в дополнительном коде столбиком
1.100110
0.100111
-------------
0.001101
При переводе числа получаем 13 в десятичной с. с.
Аналогично происходит в HEX (16тиричной системе)
Таблица перевода из прямого кода в обратный
0 -> F
1 -> E
2 -> D
3 -> C
4 -> B
и т. д.
-26 в прямом коде 1.1A, обратный код 1.E5, в дополнительном коде 1.E6 (дополнительный код числа + 1)
39 в прямом в обратном и в дополнительном коде 0.27 (так как число положительное)
Складываем в дополнительном коде
1.E6
0.27
0.0D (Самую левую единицу, которая получается при складывании битов знака я отбросил, по этому ее нет в примере)
Если перевести число 0.0D в десятичную с. с. , то получим число 13.
p.s. Я надеюсь, что вы понимаете, что число до точки - это бит знака, и что он считается по правилу 1+1 = 0
p.p.s. не оставляйте вопрос на голосование, это считается плохим тоном
Число -26 это 1.011010, так как число отрицательно, то в дополнительном коде оно будет принимать вид
1.011010 -инверсия-> 1.100101 + 1 = 1.100110
Число 39 это 100111, так как число положительное, то в дополнительном коде оно
0.100111
Складывать числа необходимо в дополнительном коде столбиком
1.100110
0.100111
-------------
0.001101
При переводе числа получаем 13 в десятичной с. с.
Аналогично происходит в HEX (16тиричной системе)
Таблица перевода из прямого кода в обратный
0 -> F
1 -> E
2 -> D
3 -> C
4 -> B
и т. д.
-26 в прямом коде 1.1A, обратный код 1.E5, в дополнительном коде 1.E6 (дополнительный код числа + 1)
39 в прямом в обратном и в дополнительном коде 0.27 (так как число положительное)
Складываем в дополнительном коде
1.E6
0.27
0.0D (Самую левую единицу, которая получается при складывании битов знака я отбросил, по этому ее нет в примере)
Если перевести число 0.0D в десятичную с. с. , то получим число 13.
p.s. Я надеюсь, что вы понимаете, что число до точки - это бит знака, и что он считается по правилу 1+1 = 0
p.p.s. не оставляйте вопрос на голосование, это считается плохим тоном
Берешь виндовый калькулятор и переключаешь его в "инженерный" вид. Дальнейшее - очевидно ;)
А оценку кому будут ставить?
Похожие вопросы
- Помогите решить две, задачки по С++!
- Помогите, пожалуйста решить 2 задачки, только они остались, а решить не выходит плз (Turbo PASCAL)
- Простая задачка для программистов: Как найти самый частый элемент массива?
- Простейшая задачка на Ассемблере
- помогите с простой задачкой на коде на VBA. НЕ ПАСКАЛЬ!
- Ну что,гении компьютерной мысли,решите трудную задачку???Поеехали!!!!
- Нужна помощь в с++!!Решить 2 задачки
- Всем доброго времени суток господа! Не поможете решить данную задачку? Буду очень признателен! Заранее спасибо! Язык с++
- Не могу решить простую задачу на С++
- Есть проблема. Пытаясь решить простую задачу, я ударяюсь в высшие материи, и дело доходит до метапрограммирования.