C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Тип данных float
Евгений
Отправлено: 28.03.2005, 19:29


Не зарегистрирован







Вопрос такой:
пишу следующий код: float A = 1.5;

Почему А равно не 1.5, а 1.5000000043 что-то вроде этого. Откуда непонятные цифры в последних разрядах ?
AVC
Отправлено: 29.03.2005, 08:01


Ветеран

Группа: Модератор
Сообщений: 1583



Сколько можно об одном и том-же!!!
Вам в поиск.
Konstantine
Отправлено: 29.03.2005, 08:19


Мастер участка

Группа: Модератор
Сообщений: 545



из-за того, что:
1) float — это число с плавающей точкой
2) разрядная сетка малая
3) число храниться в 2-ной форме и при переводе в 10-ю как раз и появляються эти "артефакты"
Boyko
Отправлено: 29.03.2005, 10:23


Станционный диспетчер

Группа: Участник
Сообщений: 88



QUOTE (Евгений @ 28/03/2005, 18:29)
Вопрос такой:
пишу следующий код: float A = 1.5;

Почему А равно не 1.5, а 1.5000000043 что-то вроде этого. Откуда непонятные цифры в последних разрядах ?

А ты когда-нибудь об округлении дробных чисел слышал? wink.gif

Поэтому лучше писать

double на месте float

Вернуться в Вопросы программирования в C++Builder