Другие языки программирования и технологии
Как представленное ниже значение в двоичном дополнительном коде преобразовать в десятичный формат? число 11010
26 если не ошибаюсь... в калькуляторе стандартном это есть, просто расширеный вид надо сделать (вид\программист)
итак, на счет дополнительного кода, он используется для замены операции вычитание, операцией сложение (так как компьютер не умеет вычитать =), зато очень хорошо складывает)
например: 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
например: 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
Нужно программу составить?
Если нет, то существует формула.
Число в двоичной, для перевода в десятичную:
1*2^4+1*2^3+1*2^1=26
Если нет, то существует формула.
Число в двоичной, для перевода в десятичную:
1*2^4+1*2^3+1*2^1=26
Похожие вопросы
- Отрицательные числа и дополнительный код
- В специализированной ЭВМ целые числа рассматриваются как числа со знаком и представляются в дополнительном коде. Для х
- Нужна программа на паскале, вычисляющая дополнительный код отрицательного числа
- как перевести в десятичную систему число 0001101
- НА C# НАПИСАТЬ КОД Найти сумму целых отрицательных чисел, кратных 5 и принадлежащих интервалу [-20; 20].
- как сложить 175-197 в обратном и дополнительном коде?? ? подскажите кто-нибудь пожалуйста...
- Добрый день! Помогите выполнить вычитание в прямом, обратном и дополнительном кодах: 0,111101101- 0,101111010
- Как на паскале написать код программы,которая при вводе числа,выводит его словами?
- Какой из представленных ниже языков программирования проще всего (нужен как первый изучаемый язык)
- Напомните, как переводить двоичное число в десятичное?