Другие языки программирования и технологии

Как представленное ниже значение в двоичном дополнительном коде преобразовать в десятичный формат? число 11010

kuzd1975
kuzd1975
96
26 если не ошибаюсь... в калькуляторе стандартном это есть, просто расширеный вид надо сделать (вид\программист)
Андрей Зеленский
Андрей Зеленский
1 684
Лучший ответ
итак, на счет дополнительного кода, он используется для замены операции вычитание, операцией сложение (так как компьютер не умеет вычитать =), зато очень хорошо складывает)
например: 10110000+(-11010)
итак, как получить дополнительный код отрицательного числа,
1) необходимо добавить недостающие нули до заполнения всей разрядной сетки, в данном случае число разрядов - 8 (отр число имеет больше 4 разрядов, но меньше 8, число разрядов выбирается из условия 2 в степени N (2 во 2, 2 в 3... 2 в N-ой степени) )
00011010
2) инвертируем получившее число (0 заменяем на 1 и наоборот)
11100101 - это обратный код отр числа
3) к обратному коду мы прибавляем 1
11100101
+ 00000001
11100110 - это и есть тот самый дополнительный код, теперь если данный код ПРИБАВИТЬ к первому слагаемому, мы получим результат вычитания
10110000
+11100110
110010110
в результате мы имеем 9-ти разрядное число! но так как мы работаем с 8-ми разрядной сеткой последний разряд учитывается как знак итогового числа. т. о. если 9 разряд = 1, то число положительное, если же 0 - отрицательное
и вот итог операции вычитание через сложение (с использованием дополнительного кода)
10110000+(-11010)=+10010110
Хаски ;)
Хаски ;)
3 774
Нужно программу составить?

Если нет, то существует формула.

Число в двоичной, для перевода в десятичную:
1*2^4+1*2^3+1*2^1=26

Похожие вопросы