Консультация № 146352
07.10.2008, 17:17
0.00 руб.
0 3 1
Составить программу, которая в зависимости от значения последнего числа делает следующее если последнее цифра числа = 0- неизменяется число, а если конец числа =1- инвестирует все разряды, кроме последнего. И сохранить его в стек.

Обсуждение

давно
Посетитель
7438
7205
07.10.2008, 17:52
общий
Уточните, пожалуйста:
1) последняя цифра (младшая?) - десятичная, 16-ричная или бит?
2) если не бит, то что тогда делать, если не 0 или 1?
3) какова разрядность "числа" - 16 или 32?
4) ДОС, Windows?
Предположу, что речь идет о младшем бите 16-разрядного числа под ДОС...
Точнее надо выражаться, можно понимать как угодно...
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Неизвестный
07.10.2008, 20:08
общий
Число в доичной системе счисления и например у него последнее число 1(пример 1000111) то все числа инвертируем и знаковые и цифровые. А если ноль то неизменяем число!!!!!
давно
Посетитель
7438
7205
08.10.2008, 09:59
общий
это ответ
Здравствуйте, Шептелуть Михайл Сергеевич!
Смею предложить вот такую программку.
Предполагаем, что число лежит в AX и имеет разрядность 16 бит
Код:
	test	ax, 1		; проверим младший бит ("последняя цифра" :))
jz to_stack ; если 0, то число не меняем
xor ax, 0fffeh ; если 1, инвертируем все биты, кроме младшего
to_stack:
push ax ; в стек
Об авторе:
"Если вы заметили, что вы на стороне большинства, —
это верный признак того, что пора меняться." Марк Твен
Форма ответа