В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
yroyakap0doki
yroyakap0doki
08.06.2020 17:07 •  Информатика

Выполните умножение и результат перевидите в десятичную систему счисления :1011(2)×1010(2)​

Показать ответ
Ответ:
Елизавета651
Елизавета651
05.05.2023 10:35
Тут есть несколько ошибок:
1. Отсутствует ключевое слово begin в основной программе. Насколько я понял, оно должно стоять перед k:=0.

2. Внутри функции ODD не объявлена локальная переменная i, которая используется в цикле.

3. В основной программе вы вызываете функцию ODD и передаете ей аргумент с[i], хотя в описании функции аргумент не обозначен.

4. В функции ODD происходит обработка глобального массива C, что делать нельзя.

5. Функция должна возвращать какое-то значение. В описании вы указали integer, а в основной программе в строке if Odd(c[i])... вы подразумеваете, что оно должно быть булевым, т.е. или True или False.

Исправьте, и может быть (если ошибок больше нет) программа заработает.
0,0(0 оценок)
Ответ:
гуманитарий23
гуманитарий23
23.09.2021 05:03
9^{22} + 3^{66} - 12

Преобразуем выражение
9^{22} + 3^{66} - 12 = 3^{44} + 3^{66} - 4*3 = 3^{44} + 3^{66} - 3^{2} - 3^{1}

Первые 2 слагаемых при переводе в с. сч. 3 дадут числа вида "10000...00", и количество нулей будет равно величине степени. (Можешь сам у в этом убедиться для чисел с небольшой степенью). Поэтому первые два слагаемых переведутся в число "100...0010000...00", кол-во нулей между единицами равно 66-45 = 21, правее средней единицы = 44.

Число 3^{2} + 3^{1} гораздо меньше. Поэтому при вычитании мы будем занимать разряд до тех пор, пока не дойдем до средней единицы, которая станет после этого 0, а все, что правее - двойками (было "100..00100..00", стало "100..00022..22", но только после заёма единицы, ещё нужно довычистывать). Затем проведем вычитание и посмотрим, сколько двоек пришлось убрать для этого.

Переводим (3^{2} + 3^{1})_{10} = 110_{3}.
Вычитаем "100..00100..0000" - 110 = "100..00022..2120"
Кол-во двоек между маркерованными цифрами = 44 - 3 = 41. Добавим ещё одну 2 правее маркерованной единицы = 42 - ответ
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота