Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];
Внизсколько в памяти займет 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c