Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 10.05.2020
Сообщений: 57

B. Ассемблер

22.06.2021, 17:12. Показов 2722. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В языке ассемблера для процессора «Тетриум» есть команда ADDSUB. Эта команда берёт значения регистров b, c и d и кладёт в регистр, a величину 2^b + 2^c − 2^d. При расчёте энергопотребления процессора потребовалось по содержимому регистров b, c и d выяснить, сколько единиц будет в двоичной записи числа, которое окажется в регистре a после выполнения команды ADDSUB. Формат ввода: В первой и единственной строке ввода через пробел перечислены три целых числа b, c и d ( 1≤d<c<b≤10^9) — значения соответствующих регистров. Формат вывода: Вывести количество единиц в двоичной записи значения
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.06.2021, 17:12
Ответы с готовыми решениями:

Ассемблер. Решение задачи
Помогите решить задачу на язык программирования Ассемблер. Моделирование кольцевого сдвигающего регистра (сдвиг вправо) с задаваемой...

Перевод из языка ассемблер в язык паскаль
mov esi,eax mov eax,ebx mov ebx,3 imul ebx or ecx,1 add eax,esi cdq idiv ecx

Ассемблер в паскале: как загрузить массив во встроенный ассемблер и произвести над любым из его чисел сложение(вычитание).
хочу написать программу в паскале с использованием встроенного ассемблера, но прежде чем начать споткнулся на таких вопросах:Не знаю как...

8
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
22.06.2021, 18:51
Python
1
lambda x: len(str(list(map(pow,x.split(' ')))))
1
0 / 0 / 0
Регистрация: 10.05.2020
Сообщений: 57
22.06.2021, 19:34  [ТС]
А можешь объяснить пж
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
22.06.2021, 19:49
JessyPinkman, Посчитать количество единиц в двоичной записи числа
0
0 / 0 / 0
Регистрация: 10.05.2020
Сообщений: 57
22.06.2021, 20:18  [ТС]
так там нету ни ответа ни объяснения
0
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
22.06.2021, 20:45
JessyPinkman, нужно найти количество единиц в двоичной записи ответа выражения
2^b + 2^c − 2^d
Код в том топике верный.
Для себя согласно условиям выбери различные b, c, d и реши на бумаге. Решение сверь с кодом...
Или посмотри тут:
Python
1
2
3
b, c, d = map(int, input().split())
print(1 + c - d)
print(bin(2**b + 2**c - 2**d).count('1'))
Добавлено через 12 минут
b > c > d
Пусть b = 6, c = 4, d = 2
2^6 -> 1000000 в двоичной
2^4 -> 10000
2^2 -> 10
2^4 - 2^2 -> {10000 - 10} -> 1100 - количество единиц в двоичной записи результата разности двух чисел, являющихся степенями двойки, равно разности степеней => (4-2)=2
2^6 + (2^4 - 2^2) -> 1000000 + 0001100 (поразрядное сложение) = 1001100
Три единицы, то есть из-за того, что b > c и b > c - d, к одной единице от "b" добавляется две единицы от разности.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38200 / 21132 / 4310
Регистрация: 12.02.2012
Сообщений: 34,740
Записей в блоге: 14
23.06.2021, 06:06
Лучший ответ Сообщение было отмечено Рыжий Лис как решение

Решение

Честный подсчет к-ва единиц:

Python
1
2
3
4
5
6
7
8
def num_units(n):
    c=0
    while (n>0):
        c+=1 if n%2==1 else 0
        n//=2
    return c
    
print(num_units(14))
1
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
23.06.2021, 19:06
Catstail, ещё от if можно избавиться:

Python
1
2
3
4
5
6
def num_units(n: int) -> int:
    result = 0
    while n > 0:
        result += n % 2
        n //= 2
    return result
Добавлено через 38 секунд
Ты бы не написал ветку else, я бы не догадался упростить.

Добавлено через 1 минуту
Цитата Сообщение от Gdez Посмотреть сообщение
1000000 + 0001100 (поразрядное сложение) = 1001100
На самом деле даже у вас сначала вычисляется результат, а потом считается количество бит в одном числе
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
23.06.2021, 19:18
Рыжий Лис, решение не мое, но оно верно -> == 1 + c - d
Всё что ниже - доказательство верности этой формулы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.06.2021, 19:18
Помогаю со студенческими работами здесь

Ассемблер
Массив из 20 чисел заполнить последовательностью, состоящей наполовину из чисел кратных 3 и наполовину из квадратов этих чисел;...

Программа для программирования на Ассемблере
Мне нужна программа для программирования на Ассемблере. Препод говорит, что какой-то Ceil Soft. Я понятия не имею что это такое и найти не...

Ассемблер
Так,где найти уроки по ассемблеру?а то си очень связан с ним

Ассемблер!!!
Дано четырехзначное натуральное число, записанное в десятичной системе счисления. Получите из него двузначное число, вычеркнув цифры из...

C++ и Ассемблер
Здраствуйте,дали задание написать резидентную программу на С++ и ассемблере,вызывающая функцию ,написанную на ассемблере,которая каждые 2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru