Вниз
Скачать: CL | DM;

Операторы shl и shr   Найти похожие ветки 

 
CacheMeM   (2003-10-03 11:35) [0]

Здраствуйте уважаемые мастера.

Мне необходимо сделать Функцию перевода Десятичного в Бинарное число.
Одну функцию, я написал сам, а вот вторую скопировал.
Вот она:
function IntToBin(Value: LongInt;Size: Integer): String;
var i: Integer;
begin
Result:="";
for i:=Size downto 0 do begin
if Value and (1 shl i)<>0 then begin
Result:=Result+"1";
end else begin
Result:=Result+"0";
end;
end;
end;

Нашел я в Дельфи Хелпе - что shl и shr- это поразрдовый сдвиг влево или вправо, равносильный умноженю или делению на 2 в такой-то степени.
Я понал но не до конца.
Не может ли кто-нибудь объяснить простыми словам, что это все-таки значить. И особеноо что именно делает строка if Value and (1 shl i)<>0 then begin в этой функции?

C Уважением.


 
HolACost! ©   (2003-10-03 11:41) [1]

Состояние бита i-гог (1-0) в Value - в данном случае если он в 1, то вы полняем then!


 
Anatoly Podgoretsky ©   (2003-10-03 11:48) [2]

http://www.delphikingdom.com/lyceum/seminar.asp?partID=4&LessonID=11


 
CacheMeM   (2003-10-03 13:01) [3]

Спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
14-40614
k-man
2003-09-24 20:41
2003.10.13
WinApi


1-40428
AndrewK
2003-10-01 14:49
2003.10.13
Получение True или False по выражению в строке


14-40671
J. Bush
2003-09-25 18:51
2003.10.13
Repeate


3-40320
rosl
2003-09-22 09:02
2003.10.13
Перенос данных


6-40536
Logan
2003-08-15 03:24
2003.10.13
Outlook Express




   Наверх