Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Inttelc » 17.02.2011 22:26:02

Какие вещественные типы данных lazarus-0.9.28.2-fpc-2.2.4-win64 являются 64-битными?
Inttelc
новенький
 
Сообщения: 13
Зарегистрирован: 18.11.2010 21:40:04

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Ism » 18.02.2011 01:19:20

может int64
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Иван Шихалев » 18.02.2011 02:39:01

Double, Real, Comp, Currency.

Ism писал(а):может int64

И давно он стал вещественным?
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Vadim » 18.02.2011 03:40:35

Inttelc
Вы это можете сами проверить с помощью SizeOf(Тип). ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Inttelc » 18.02.2011 12:28:56

Спасибо!
Получил такие результаты: SizeOf(Extended)=8, SizeOf(Double)=8, SizeOf(Real)=8, SizeOf(Int64)=8, SizeOf(Integer)=4.
По-моему что-то не так.
Inttelc
новенький
 
Сообщения: 13
Зарегистрирован: 18.11.2010 21:40:04

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Mr.Smart » 18.02.2011 12:33:04

Inttelc почему вы так считаете?
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Padre_Mortius » 18.02.2011 12:57:01

наверное потому, что единицы измерения забыли указать) там байты должны быть, т.е. 8 байт = 64 бита
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб


Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Inttelc » 18.02.2011 17:04:55

Mr.Smart писал(а):Inttelc почему вы так считаете?

Потому, что для всех типов одинаковый результат. Мне казалось, что, например, для Extended размер должен быть выше чем для Real.
Также я воспользовался этой функцией на 32-битном Delphi 2010. Там показывает 10 для Extended.
Как указать размерность?
Если переменная объявлена каким-то 64-битным типом данных, значит под хранение числа в памяти выделяется в 2 раза больший объем, чем в 32-битном варианте. То, есть мантиса числа будет больше. Это правильное понимание?
Спасибо!
Inttelc
новенький
 
Сообщения: 13
Зарегистрирован: 18.11.2010 21:40:04

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Иван Шихалев » 18.02.2011 17:24:16

По поводу Extended: http://www.mail-archive.com/fpc-devel@l ... 10882.html

А Real во Free Pascal на большинстве платформ синоним Double: http://freepascal.org/docs-html/prog/pr ... 970008.2.5
Аватара пользователя
Иван Шихалев
энтузиаст
 
Сообщения: 1138
Зарегистрирован: 15.05.2006 11:26:13
Откуда: Екатеринбург

Re: Вещественные типы данных в lazarus-0.9.28.2-fpc-2.2.4-win64

Сообщение Mr.Smart » 18.02.2011 17:30:16

Inttelc, а здесь пояснение от Sergei I. Gorelkin

Добавлено спустя 5 минут 4 секунды:
Различен только тип Extended. В Win32 10 байт, а Win64 8 байт. Все остальные вещественные типы имеют такой-же размер.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!


Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17

Рейтинг@Mail.ru