типы данных Fireberd 1.5.3
типы данных Fireberd 1.5.3
Здравствуйте. Расскажите, пожалуйста, о типах данных, поддерживаемых Fireberd 1.5.3
А чо, симпатишные такие типы. Есть и с рюшечками и с кружавчиками, и полосатенькие и в горошек, и из ситчика такого весёленького, ну просто обхохочешься. Короче, DataDef.pdf, искать на www.ibase.ru , скачивать и читать до просветления.
не издевайтесь, пожалуйста. Я не знаю английского, а на www.ibase.ru я нашла только размышления на тему, что лучше Char или VarChar
Что за DataDef.pdf и где взять?
Что за DataDef.pdf и где взять?
datadef http://www.interbase-world.com/ru/inter ... D=33&ID=90
конкретно по типам http://www.interbase-world.com/ru/inter ... ION_ID=123
конкретно по типам http://www.interbase-world.com/ru/inter ... ION_ID=123
Последний раз редактировалось WildSery 27 июл 2006, 16:41, всего редактировалось 1 раз.
это в одной записи байтики-битики, а когда их тысячи... это уже на килобайты расчет идет... а когда их тысячи в день!
а если компы слабые? вот и таскай лишние килобайты сначала через сеть, с сервера, потом в клиентах, в которых информация ползет со скоростью убитой мухи.
ИМХО
А вообще, это не основание для спора. На вкус и цвет, как говориться
а если компы слабые? вот и таскай лишние килобайты сначала через сеть, с сервера, потом в клиентах, в которых информация ползет со скоростью убитой мухи.
ИМХО
А вообще, это не основание для спора. На вкус и цвет, как говориться
2 Дева.
1. Размер знакового и беззнакового целого одинаков. В нашем случае, он либо два байте либо четыре либо восемь. Разница только в том, что беззнаковое целое может содержать значение "в 2 раза больше - 1", чем знаковое. У вас много данных, которые могут принимать значения больше 2^15, но меньше 2^16? Наверняка таких нет. Поэтому используют SmallInt в случае маленьких величин и Integer для нормальных чисел.
2. Как я помню, dimitr писал, что SmallInt внутри сервера преобразуется в 32-х разрядную величину, в результате чего может получиться падение производительности из-за их обработки (если не прав, поправьте).
3. Что это у вас за старые компы? У меня клиенты стоят на Pentium-166 плюс 100 Мбитных EtherNet. Никаких тормозов клиента нет, да и не может быть. Может, дело в noname'овских драйверах на ЦНС?
1. Размер знакового и беззнакового целого одинаков. В нашем случае, он либо два байте либо четыре либо восемь. Разница только в том, что беззнаковое целое может содержать значение "в 2 раза больше - 1", чем знаковое. У вас много данных, которые могут принимать значения больше 2^15, но меньше 2^16? Наверняка таких нет. Поэтому используют SmallInt в случае маленьких величин и Integer для нормальных чисел.
2. Как я помню, dimitr писал, что SmallInt внутри сервера преобразуется в 32-х разрядную величину, в результате чего может получиться падение производительности из-за их обработки (если не прав, поправьте).
3. Что это у вас за старые компы? У меня клиенты стоят на Pentium-166 плюс 100 Мбитных EtherNet. Никаких тормозов клиента нет, да и не может быть. Может, дело в noname'овских драйверах на ЦНС?
Это как так? . Девушка, вы видимо недопоняли. Повторяю еще раз: знаковое и беззнаковое число занимают одинаковый объем, потому что оба имеют один и тот же размер в байтах. Идите учите мат. часть.Дева писал(а):это здесь размер одинаков. если в 16 битах кодировать беззнаковые, то размер останется прежний (2 млрд), а объем изменится.
Это была попытка объяснить вам базовое знание... А уж что флуд, что нет - позвольте решать модераторам.Дева писал(а):вообще это было размышление на вольную тему. Флуд, если хотите. Вообще, чему учили, так и сужу.
И то и другое - одно и тоже (я про третий диалект)... Внутри сервера оба все равно хранятся в виде SmallInt, Integer либо BigInt. Соответственно, они имеют знак.Дева писал(а):Decimal или Numeric знаковый?
Поправьте меня, если я не права: в одном бите кодируется 2 знака - 0 или 1, в двух - 4: 00, 01, 10, 11 и т. д. то есть 2 в степени, сколько битCyberMax писал(а):Это как так?
Значит в 2 байтах можно закодировать до 65535, а в случае с знаковым типом - от -256 до 255.
Вообще, я имела ввиду, что если бы существовал беззнаковый тип меньшего размера, то было бы максимально знаковое число равно максимально беззнаковому, но с размером в 2 раза меньше.
Эх, флудить так флудить.
Если же брать 32 бита, а именно столько в Integer, то будут ли значения до 4 294 967 295, или только до 2 147 483 647, абсолютно плевать.
Не согласна? Приведи пример, когда 2 млрд не хватит, а 4 хватит.
16 бит беззнаковое - от 0 до 65535, а не 2 млрд., а со знаком от -32768 до +32767.Дева писал(а):это здесь размер одинаков. если в 16 битах кодировать беззнаковые, то размер останется прежний (2 млрд), а объем изменится.
Если же брать 32 бита, а именно столько в Integer, то будут ли значения до 4 294 967 295, или только до 2 147 483 647, абсолютно плевать.
Не согласна? Приведи пример, когда 2 млрд не хватит, а 4 хватит.
Камрад, 100% согласен .Merlin писал(а):Аднака пятница задалась
Попробую, аки средневековый проповедник, наставить заблудшую душу на путь истинный.
Почти так. Не забудь только единичку отнять. 2-бита - от 0..3, 4 бита - 0..15.Дева писал(а):Поправьте меня, если я не права: в одном бите кодируется 2 знака - 0 или 1, в двух - 4: 00, 01, 10, 11 и т. д. то есть 2 в степени, сколько бит
Нет. В случае беззнакового типа под знак отводится 1 бит, а не байт (8 бит. Это я так, на всякий случай...). Поэтому в 2-х байтовом знаковом целом под само значение отводится 15 бит и 1 бит под знак. 2^15 - 1 = 32767.Дева писал(а):Значит в 2 байтах можно закодировать до 65535, а в случае с знаковым типом - от -256 до 255.
Если старший бит (15-ый) выключен, это положительное число. Если включен - отрицательное. Чтобы получить модуль отрицательного числа, отнимаем от 65536 это 16-ти разрядное значение и получаем число со знаком минус. Легко определить, что -1 = это $FFFF, -2 = $FFFE, а -32768 = $8000.
Проверка: -5 + 10 = $FFFB + $000A = $1 0005. Разряд переполнения откидываем и получаем 5. Что и требовалось доказать.
Все понятно?