Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

64 битовое число [D7]


ArtemESC ©   (2005-10-09 15:36:00) 

QWord = 0..$FFFFFFFFFFFFFFFF
Будет ли "работать" такая структура с использованием
математических операций.


Fay   (2005-10-10 08:42:00) [1]

2 palva ©   (09.10.05 21:49) [13]
Это Int64 8)


palva   (2005-10-09 21:49:00) [2]

Тогда уж задавать $8000000000000000..$7FFFFFFFFFFFFFFF
получится самый большой диапазон


Fay   (2005-10-09 20:28:00) [3]

2 ArtemESC ©   (09.10.05 16:09) [10]
Delphi, в мудрости своей, пытается считать $FFFFFFFFFFFFFFFF положительным и целым.
Это число влезает только в Int64, а максимальное положительное Int64 равно $7FFFFFFFFFFFFFFF. При таких обстоятельствах Delphi, конечно, отказывается от сотрудничества. Есть такая беда.
А вот диапазон $FFFFFFFFFFFFFFFF..0вполне можно задать, т.к. в этом случае число $FFFFFFFFFFFFFFFF будет воспринято как -1.


MBo   (2005-10-09 17:16:00) [4]

Int64 не хватает?


ArtemESC   (2005-10-09 16:09:00) [5]

>>Будет
Черт...
type
QWord = 0..$FFFFFFFFFFFFFFFF;


Не хочет компилироваться...


Джо   (2005-10-09 16:05:00) [6]

Вот демонстрация, хотя и бессмысленная, но иллюстративная.

procedure TForm1.Button1Click(Sender: TObject);
type
 TQWord = record
   Dw1,
   Dw2: DWord;
 end;
var
 I64: Int64;
 QW: TQWord;
begin
 I64 := $FFFFFFFFFFFFFFF0;
 QW := TQWord(I64);
 QW := TQWord(Int64(QW)+2);
 ShowMessageFmt ('First DWORD: %x',[QW.Dw1]);
 ShowMessageFmt ('Seconf DWORD: %x',[QW.Dw2]);
end;


Джо   (2005-10-09 16:03:00) [7]


>  [7] ArtemESC ©   (09.10.05 15:58)

Можно. С приведением к элементарному типу, если размеры соответствуют.


ArtemESC   (2005-10-09 15:58:00) [8]

>>запись из двух DWord
Не уж то записи можно складывать и умножать? [1]


Anatoly Podgoretsky   (2005-10-09 15:52:00) [9]

Точно, такой уже есть


Anatoly Podgoretsky   (2005-10-09 15:51:00) [10]

Написать новый тип - запись из двух DWord, возможно такой уже описан, посмотри в справке.


Anatoly Podgoretsky   (2005-10-09 15:46:00) [11]

Как сделаешь так и будет. Только какое отношение это имеет к памяти, у тебя вопрос про тип.


ArtemESC   (2005-10-09 15:46:00) [12]

И еще вопрос...
Как можно получить его составные части в формате DWord?


ArtemESC   (2005-10-09 15:43:00) [13]

>>Anatoly Podgoretsky
А в памяти оно будет как два DWord?


Anatoly Podgoretsky   (2005-10-09 15:37:00) [14]

Будет


Наверх

Титульная страница Поиск, карта сайта Написать письмо