Вопрос о разнице числовых типов данных

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

Вопрос о разнице числовых типов данных

Сообщение compositum » 08.05.2006 (Пн) 11:51

Никак не могу понять, чем отличается "double" от "single", а так же не совсем понятно о "decimal" - в описании оно фигурирует как любое число, т.е. оно может быть и вещественным и целым? для чего так много типов чисел? Плиз, не поленитесь ответить чайнику. :)
Perfice te.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 08.05.2006 (Пн) 11:59

Double - двойная точность числа (8 байт на все число), Single - одинарная (4 байта).

Так много типов чисел нужно для удовлетворения всех потребностей программистов. Условно говоря, чем "точнее" тип данных, тем дольше с числом проводятся операции.

По поводу Decimal.
MSDN писал(а):Decimal variables are stored as 96-bit (12-byte) unsigned integers scaled by a variable power of 10. The power of 10 scaling factor specifies the number of digits to the right of the decimal point, and ranges from 0 to 28. With a scale of 0 (no decimal places), the largest possible value is +/-79,228,162,514,264,337,593,543,950,335. With a 28 decimal places, the largest value is +/-7.9228162514264337593543950335 and the smallest, non-zero value is +/-0.0000000000000000000000000001.

Note At this time the Decimal data type can only be used within aVariant, that is, you cannot declare a variable to be of type Decimal. You can, however, create a Variant whose subtype is Decimal using the CDec function.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.05.2006 (Пн) 12:05

compositum, смени аватару плиз, а то у меня различение пользователей нарушается... http://bbs.vbstreets.ru/profile.php?mod ... ile&u=5826
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 08.05.2006 (Пн) 12:32

Изображение
:)

compositum
Начинающий
Начинающий
Аватара пользователя
 
Сообщения: 18
Зарегистрирован: 07.05.2006 (Вс) 15:23
Откуда: Санкт-Петербург

Сообщение compositum » 08.05.2006 (Пн) 13:15

Amed
а на примере можно показать? насколько я понимаю, чем больше байт приходится на число, тем больше диапазон вводимых для этого варианта чисел. мне не ясно выражение "плавающая точка". По поводу "Decimal" - я в английском не силен, но все равно спасибки, попробую перевести, хотя не факт, что пойму свой "перевод". :)
Perfice te.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 08.05.2006 (Пн) 14:17

Плавающая точка. На пальцах. У тебя есть на запись числа 5 знаков.
Можешь записать как число 2.5345, так и 2534.5, при этом первое получается точнее (4 знака после точки), а у второго больше возможный диапазон (4 знака до точки).

Поищи в яндексе "плавающая точка". Узнай, что такое "мантисса" и "порядок".

Роман-вб
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 520
Зарегистрирован: 04.04.2006 (Вт) 9:40
Откуда: Средняя полоса

Сообщение Роман-вб » 08.05.2006 (Пн) 15:53

Более подробно о Single, double
1) SINGLE
n=32 бита
Знак числа – 1 бит
Смещённый порядок – 8 бит
Мантисса со скрытым битом – 23 бита
τ = 127
Диапазон представления данных
1,17*10^-38<≈|х|<≈3,37*10^38
Точность представления чисел – 7 десятичных цифр
Осн. формула
X=+-1,M*2^(pсм-127)
Жить ещё 2 недели, работы на 8 лет, но я докажу на деле, на что способен аскет!


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

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

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

    TopList