Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Boolean, WordBool, LongBool 
V
    Опции темы
Ak47black
  Дата 15.1.2009, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Здравствуйте.
Хочу спросить, просто интересно стало.
Есть три типа 
Цитата

Boolean, WordBool, LongBool

выполняющие по сути одну и туже роль, тоесть принимают значения {true, false}
Состояние данного множества можно хранить в одном бите, но например Boolean весит 8 бит (тоесть получается что 7 бит незадействованны).
Я предпологаю что Boolean весит 1 байт для экономии времени доступа.
Но непонимаю тогда зачем существуют WordBool, LongBool  smile  ?
Объясните пожалуйста кто понимает, зачем существуют WordBool, LongBool.
PM MAIL   Вверх
CodeMonkey
Дата 15.1.2009, 16:55 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1839
Регистрация: 24.6.2008
Где: Россия, Тверь

Репутация: 29
Всего: 89



Все эти типы введены для совместимости с другими языками. Чтобы, к примеру, в своей программе можно было импортировать и использовать функцию из DLL, написанной на другом языке.

Потому что нет однозначного формата внутреннего представления логического типа.
Сколько байт нужно отвести под логический тип? У каждого языка есть своя версия. В Delphi взяли 1 байт и обозвали его Boolean. В вымышленном языке ABC решили, что раз 32-х разрядный процессор оптимальнее всего работает с 4-х байтными величинами, то и логический тип должен "весить" 4 байта. И т.д.
Кроме того, нет и единого мнения, как представлять значения True в логических типах. Насчёт False тут все солидарны: 0 - и без разговоров. А что насчёт True? Delphi считает (как и большинство языков), что True - это когда переменная <> 0. При присвоении True в Delphi присваивается 1. В других языках - -1 (или $FFFFFFFF, что одно и то же). Но бывают и случаи, когда True - это ровно 1 или ровно -1. 
На самом деле, в Delphi даже недостаточно логических типов.

Это сообщение отредактировал(а) CodeMonkey - 8.4.2009, 18:26


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0620 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.