Домашние задания: Информатика
Значения арифметического выражения.
Значения арифметического выражения 4^13+2^31-31 записали в двоичной системе. Сколько значащих нулей содержится в двоичной записи значения этого выражения?
Необходимо знать, что с увеличением степени двойки на 1, к записи числа в двоичном коде добавляется еще 1 разряд, а так же каждая степень двойки в десятичной - число, состоящее из единички в начале, а всё остальное - нули в двоичной.
2^1 = 2 = 10; 2^2=4 = 100; 2^3 = 8 = 1000; 2^4 = 16 = 10000; 2^5 = 32 = 100000 и так далее
4^13 = (2^2)^13 = 2^26 = единичка и 26 ноликов
2^31 = единичка и 31 нолик
31 = 32 - 1 = 11111
Далее, если считать слева направо сумму 1 и 2 чисел, получим
нули=>27-я единичка => нули => 32-я единичка
Теперь из числа 10000100000000000000000000000000
вычтем 11111
Из первого вычтем единичку, чтобы выполнить вычитание (так проще и всегда так делал) и запомним это, получим число
10000011111111111111111111111111
- 11111
= 10000011111111111111111111100000
И прибавим единичку, которую мы прежде убавили и запомнили, чтобы получить эти единички
10000011111111111111111111100001
Итого 9 ноликов.
p.s. возможно, теория от вашего преподавателя была без написания числа, я решаю как умею)
Проверимся с помощью гугла. Перевели наше число из двоичной в десятичную, получили 2214592481
4^13 = 67108864
2^31 = 2147483648
А теперь на калькуляторе сделаем действия из условия
67108864+2147483648-31 = 2214592481
Сошлось, всё верно
2^1 = 2 = 10; 2^2=4 = 100; 2^3 = 8 = 1000; 2^4 = 16 = 10000; 2^5 = 32 = 100000 и так далее
4^13 = (2^2)^13 = 2^26 = единичка и 26 ноликов
2^31 = единичка и 31 нолик
31 = 32 - 1 = 11111
Далее, если считать слева направо сумму 1 и 2 чисел, получим
нули=>27-я единичка => нули => 32-я единичка
Теперь из числа 10000100000000000000000000000000
вычтем 11111
Из первого вычтем единичку, чтобы выполнить вычитание (так проще и всегда так делал) и запомним это, получим число
10000011111111111111111111111111
- 11111
= 10000011111111111111111111100000
И прибавим единичку, которую мы прежде убавили и запомнили, чтобы получить эти единички
10000011111111111111111111100001
Итого 9 ноликов.
p.s. возможно, теория от вашего преподавателя была без написания числа, я решаю как умею)
Проверимся с помощью гугла. Перевели наше число из двоичной в десятичную, получили 2214592481
4^13 = 67108864
2^31 = 2147483648
А теперь на калькуляторе сделаем действия из условия
67108864+2147483648-31 = 2214592481
Сошлось, всё верно
4^13+2^31-31 = 2^31 + (2^26 - 2^5) + 1 = 2^31 + (2^25 + 2^24 + итд+ 2^5) + 1
Разряды буду нумеровать справа налево, начиная с нулевого, мне так удобнее - чтоб номера разрядов соответствовали степеням двойки.
При записи этого числа в двоичной системе получается 32-разрядное число (31 + 1 = 32), у которого единички стоят:
- в нулевом разряде (для слагаемого 1 = 2^0)
- в разрядах с 5 по 25 (всего 21 штука)
- в разряде 31
Если я верно понимаю значение выражения "значащие нули", то их
32 - 23 = 9 штук.
Проверим. Ноликов как раз 9 штук, из них 4 в правой части и еще 5 - в левой.

Разряды буду нумеровать справа налево, начиная с нулевого, мне так удобнее - чтоб номера разрядов соответствовали степеням двойки.
При записи этого числа в двоичной системе получается 32-разрядное число (31 + 1 = 32), у которого единички стоят:
- в нулевом разряде (для слагаемого 1 = 2^0)
- в разрядах с 5 по 25 (всего 21 штука)
- в разряде 31
Если я верно понимаю значение выражения "значащие нули", то их
32 - 23 = 9 штук.
Проверим. Ноликов как раз 9 штук, из них 4 в правой части и еще 5 - в левой.

Похожие вопросы
- Значение арифметического выражения 3^70-3^55+9^20-81 Информатика
- Помогите пожалуйста, истинное и ложное выражение с объяснением (информатика)
- Информатика значения переменных "a" и "b"
- Помогите упростить логическое выражение: ((¬A≡¬(B*C))→¬C)→(¬A+¬C≡¬B)
- Алгоритм вычисления значений функций, информатика, помогите пожалуйста
- Прочитайте фрагменты программ, определите чему равно значение «c». Информатика. 8 класс. Как решать?
- Упростить выражение по информатике 8 класс тема «логика»
- Как упростить лог выражение?
- Помогите что не так? пишет Program1.pas(9) : Переменной 'S' присвоено значение, но оно нигде далее не используется