19.12.2011, 02:28 | #1 (permalink) |
Новичок
Регистрация: 19.12.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите решить
Побитовые операции Замечание. При работе нельзя использовать массивы для хранения цифр двоичного представления чисел. Все действия необходимо выполнить, используя либо арифметические операции “+” или “-“ либо побитовые операции “shl”, “shr”, “and”, “or” или “xor” языка Pascal Общие задания Задано целое число без знака (тип word). Распечатайте содержимое битов заданного числа. Индивидуальные задания: (во всех заданиях рассматривается тип word) 1. Циклически сдвинуть двоичные разряды числа на одну позицию вправо |
19.12.2011, 02:28 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Обсуждаемые топики могут вам помочь в решении вопроса Помогите решить Помогите решить Помогите решить что полетело Помогите решить проблему с XP Помогите решить задачу |
19.12.2011, 11:27 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Да, интересно. Что-то и не соображу, как с такими жесткими ограничениями вывернуться.
Цитата:
Код:
VAR x,y:Word; BEGIN Write('x= '); Readln(x); Repeat y:=x Shr 1; y:=y Shl 1; Write(x-y); x:=x Shr 1; Until x=0; Readln; END. Код:
VAR x,y:Word; t:Byte; z,m:LongInt; BEGIN Write('x= '); Readln(x); m:=1; z:=0; Repeat y:=x Shr 1; y:=y Shl 1; t:=x-y; z:=z+t*m; x:=x Shr 1; m:=m*10; Until x=0; Writeln(z); Readln; END. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|