Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: CL | DM;

Вниз

сколько в памяти займет integer ?   Найти похожие ветки 

 
Ezorcist   (2007-03-08 01:31) [0]

и как перевести любое integer в набор переменных типа byte? (так что бы их число было одинаковым для любого integer) ?


 
Германн ©   (2007-03-08 01:37) [1]


> сколько в памяти займет integer ?
>
> Ezorcist   (08.03.07 01:31)
>
> и как перевести любое integer в набор переменных типа byte?
>  (так что бы их число было одинаковым для любого integer)
> ?
>

ПППереввведи, плиззз.


 
Джо ©   (2007-03-08 01:47) [2]

> сколько в памяти займет integer ?

ShowMessage(IntToStr(SizeOf(Integer)));


 
Джо ©   (2007-03-08 01:56) [3]

> как перевести любое integer в набор переменных типа byte

Что имеется в виду? Это?

type
 TIntRec = packed record
   case Integer of
     0: (Int: Integer);
     1: (Bytes: array [0..3] of Byte);
 end;

var
 Int: TIntRec;
...
 Int.Int := 12345465;
 ... := Int.Bytes[0];
 ... := Int.Bytes[1];
 etc...


 
Ezorcist   (2007-03-09 15:51) [4]

2Джо


> ShowMessage(IntToStr(SizeOf(Integer)));
>


За это спасибо, а вот [3] не понял. Integer занимает четыре байта так? Как представить любой integer в виде четырех переменных типа byte и обратно?


 
Kolan ©   (2007-03-09 15:52) [5]

absolute - проше всего...


 
Джо ©   (2007-03-09 15:55) [6]

> [4] Ezorcist   (09.03.07 15:51)
> 2Джо
>
>
> > ShowMessage(IntToStr(SizeOf(Integer)));
> >
>
>
> За это спасибо, а вот [3] не понял. Integer занимает четыре
> байта так? Как представить любой integer в виде четырех
> переменных типа byte и обратно?

Вот так и представить, как я написал. Есть еще и другие способы, но этот совсем неплох.
По поводу того, как это работает — см. Справку или учебник на предмет «записей с вариантами» (разде Variant parts in records).


 
Сергей М. ©   (2007-03-09 16:24) [7]


> Ezorcist   (09.03.07 15:51) [4]


> Integer занимает четыре байта так?


В Delphi for Win32 - да, так. В иных средах для иных платформ м.б. иначе.


> Как представить любой integer в виде четырех переменных
> типа byte


"Любой" - никак.

А конкретный integer для конкретной Delphi for Win32 - см. [3]


 
Vlad Oshin ©   (2007-03-09 18:13) [8]

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
a1,a2,a3,a4:byte;
begin
i:=2147483645;
asm
 mov eax,i
 mov a1,al
 mov a2,ah
 shr eax,16
 mov a3,al
 mov a4,ah
end;
showmessage(inttostr(a1)+" "+inttostr(a2)+" "+inttostr(a3)+" "+inttostr(a4));

end;

:)



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

Текущий архив: 2007.04.01;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.085 c
2-1173182796
wahnsinng
2007-03-06 15:06
2007.04.01
Ошибка


2-1173162070
Ш-К
2007-03-06 09:21
2007.04.01
Анализ массива элементов


15-1173435017
Ламот
2007-03-09 13:10
2007.04.01
Нопонятки с мышкой...


15-1173602438
$Pl@Sh
2007-03-11 11:40
2007.04.01
Где скачать?


3-1168467333
r2d2
2007-01-11 01:15
2007.04.01
экспорт из access