Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
4-1163174628
SkySpeed
2006-11-10 19:03
2007.04.01
Как можно отлавливать запускаемые процессы?


2-1173787780
wahnsinng
2007-03-13 15:09
2007.04.01
Как можно сделать в LIstBox текст по центру.


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


15-1171926876
MsGuns
2007-02-20 02:14
2007.04.01
Камеди клаб


15-1173453409
Sergp_N/A
2007-03-09 18:16
2007.04.01
Чем можно создать разделы на винте?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский