Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   В двоичном представлении числа инвертировать две последние цифры числа (http://www.tehnari.ru/f41/t79837/)

samanta7573620 29.10.2012 18:52

В двоичном представлении числа инвертировать две последние цифры числа
 
Помогите tehno036
В двоичном представлении числа инвертировать две последние цифры числа

Вот сама программа, нужно только исправить... не могу понять как инвертировать две последние цифры числа. Там надо использовать xor.

Uses CRT;

var a,b,i,n,mask:word;
begin
clrscr;
write ('a='); readln (a);
mask:=$8000;
for i:=0 to 15 do
begin
b:=mask shr 1;
end;
write;
readln;
end.

Vladimir_S 29.10.2012 20:17

Цитата:

Сообщение от samanta7573620 (Сообщение 812008)
Вот сама программа, нужно только исправить...

Ага. Нужно только начать и кончить.
У меня получилось так (не стал всё лепить в одну строку, сохранил для наглядности промежуточные операции):
Код:

Var
 a,b,c,d,e,f:LongInt;
Begin
 Write('a= ');
 Readln(a);
 b:= a SHR 2;
 c:= b SHL 2;
 d:= a XOR c;
 e:= d XOR 3;
 f:= c OR e;
 Writeln('result= ',f);
 Readln;
End.

Не знаю, может быть можно и короче.

samanta7573620 29.10.2012 21:48

Спасибо, сейчас попробую разобраться!)


Часовой пояс GMT +4, время: 07:28.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.