Добрый вечер! Так как я никогда не работала со средой 4th, прошу помочь мне подсказав с чего начать написания кода для задания: ВЫДЕЛИТЬ КРАЙНИЙ СПРАВА НУЛЕВОЙ БИТ. Разбираюсь уже двое суток и никак не дойдет до меня с чего начать написания данного кода...помогите пожалуйста. Буду очень признательна!
Среда программирования FORTH (как я поняла это типа ассемблера). Вот в ней нужно выполнить (написать код) программы ВЫДЕЛИТЬ КРАЙНИЙ СПРАВА НУЛЕВОЙ БИТ. Тема битовые операции.
Nat111 Есть ведь специально отведённый топик про лабораторные работы, ну или как вы эти задачи называете.. Чтобы выделить бит, нужно знать откуда его выделять и куда. мб просто маску наложите, типо &1(http://ru.wikipedia.org/wiki/Конъюнкция).
Можно погуглить bithacks. А вообще N+1 — это N у которого проинвертирован самый младший нулевой бит и всё, что правее него. DUP DUP 1+ OR XOR — это если ничего не путаю. Для -1, естественно, не сработает.
Nat111 Если это оно http://ru.wikipedia.org/wiki/Forth то 1. извините, про эту среду мне ничего не известно, 2. это не ассемблер
Nat111 ВЫДЕЛИТЬ КРАЙНИЙ СПРАВА НУЛЕВОЙ БИТ X = 01011100011 X+1 = 01011100100 not X = 10100011100 (not X) and (X+1) = 00000000100