Трёхбайтный тип данных в Vbasic?!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
vbStr
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 04.04.2005 (Пн) 20:18

Трёхбайтный тип данных в Vbasic?!

Сообщение vbStr » 29.07.2005 (Пт) 19:58

Vbasic поддерживает несколько типов данных: целые, дробные и т.д. Могут ли в принципе существовать трёхбайтный тип? Если конкретно, можно ли число с плавающей точкой (в VB обычно Double = 4 байта) записать тремя байтами? Ответ очень важен! Спасибо.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 29.07.2005 (Пт) 21:33

Записать можно хоть двумя-с-половиной, какая VB разница?
Стандартных типов с плавающей точкой ровно два, других нет.
Трёхбайтный UDT тебя устроит?
Изображение

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 30.07.2005 (Сб) 7:08

Число с плавающей точкой ты вряд ли запишешь тремя байтами, поскольку есть стандартные форматы типов с плавающей запятой float (он же Single в VB) размером в 4 байта и Double размером 8 байт.

Можно разве что изобрести свой собственный формат

Трехбайтовым типом может быть только UDT.

З.Ы. А 2,5 это как? :D
Весь мир матрица, а мы в нем потоки байтов!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 30.07.2005 (Сб) 16:05

Число с плавающей точкой можно записать любым количеством байт. Естественно, что конвертацию в/из этот формат и работу с ним придётся реализовывать самому.

2,5 - это в каждых 5 байтах записывать по два числа, при этом средний байт содержит по 4 бита от обоих чисел.
Изображение

vbStr
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 04.04.2005 (Пн) 20:18

Сообщение vbStr » 31.07.2005 (Вс) 19:29

tyomitch писал(а):Трёхбайтный UDT тебя устроит?

tyomitch! Что значит UDT?

vbStr
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 04.04.2005 (Пн) 20:18

Сообщение vbStr » 31.07.2005 (Вс) 19:36

tyomitch писал(а):Число с плавающей точкой можно записать любым количеством байт. Естественно, что конвертацию в/из этот формат и работу с ним придётся реализовывать самому.

2,5 - это в каждых 5 байтах записывать по два числа, при этом средний байт содержит по 4 бита от обоих чисел.

tyomitch, забыл спросить. Где можно подбробее узнать о том, что ты говоришь в этом postе? Я интересуюсь форматами и прочей байто-битной информацией. В частности, есть такой вопрос. Есть число, напр. -1235,7895645421, которое хотим записать с обычной точностью (single). Как можно этой число, в котором 16 символов-цифр, затолкать в 4 байта? Вопрос, понимаю, смешной :lol:, но я никак не могу это понять!

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 31.07.2005 (Вс) 22:32

vbStr писал(а):
tyomitch писал(а):Трёхбайтный UDT тебя устроит?

tyomitch! Что значит UDT?
UDT = User-defined type = structure = Type = структура = тип
В VB это
Код: Выделить всё
Type ...
...
End Type
Нет меня больше

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 01.08.2005 (Пн) 3:23

vbStr писал(а):Как можно этой число, в котором 16 символов-цифр, затолкать в 4 байта?

Гы... 4 байта = 32 бита, соотв. это уже в 2 раза больше твоих 16 :) а если еще учесть что там используется всего-то две цифры, 1 и 0, так это уже очень много получается :)
Бороться и искать, найти и перепрятать!

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 01.08.2005 (Пн) 10:05

MeMBus, это ты шутил, или просто фигню сказал? :P

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 01.08.2005 (Пн) 10:09

vbStr писал(а):Есть число, напр. -1235,7895645421, которое хотим записать с обычной точностью (single). Как можно этой число, в котором 16 символов-цифр, затолкать в 4 байта? Вопрос, понимаю, смешной :lol:, но я никак не могу это понять!

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

P.S. Кстати, указанное число НИКАК не втиснуть в Single, только в Double. И дело тут не в величине числа, а в количестве значащих разрядов.
Lasciate ogni speranza, voi ch'entrate.

MeMBus
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 450
Зарегистрирован: 23.02.2005 (Ср) 7:03
Откуда: Из леса...

Сообщение MeMBus » 01.08.2005 (Пн) 10:14

uhm писал(а):MeMBus, это ты шутил, или просто фигню сказал? :P


Сам даже не понял :P

alibek писал(а):В компьютере оно хранится в двоичном виде.


Вот, alibek подтвердил :wink:
Бороться и искать, найти и перепрятать!

vbStr
Новичок
Новичок
 
Сообщения: 44
Зарегистрирован: 04.04.2005 (Пн) 20:18

Сообщение vbStr » 02.08.2005 (Вт) 20:12

A.A.Z. писал(а):[UDT = User-defined type = structure = Type = структура = тип
В VB это
Код: Выделить всё
Type ...
...
End Type

Я не знал, как расшифровывается эта аббревиатура. А пользовательские типы данных активно использую.


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 64

    TopList