Вниз
Скачать: 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.024 c
11-40334
Separotor
2003-01-30 17:59
2003.10.13
[Fatal Error] Klabel.pas(23): File not found: DsgnIntf.dcu


3-40301
raper
2003-09-22 14:09
2003.10.13
Оракл


1-40503
Петр
2003-10-02 08:58
2003.10.13
Вопрос по отладке в Borland CBuilder


1-40394
glow
2003-10-01 09:47
2003.10.13
RX


14-40579
stone
2003-09-23 11:01
2003.10.13
Парадокс в датах




   Наверх