русский
Germany.ruForen → Архив Досок→ Programmierung

float в java

29.05.08 11:38
Re: float в java
 
katran76 старожил
in Antwort kashej 29.05.08 11:11
Ладно, сжалюсь
Твоя проблема в том что ты отнимаешь от первого числа второе второе меньше чем точность представления первого.
Приведу пример:
a=1.2345
b=0.000001
Числа при этом имеют определённую точность представления (float, ,double, ...)
Если эта точность к примеру три знака, то грубо говоря ВСЕ ЧИСЛА от 1.234 до 1.236 представлены в памяти компа ОДИНАКОВО как 1.235
Именно поэтому при вычитании числа которое меньше точности представления первое число НЕ МЕНЯЕТСЯ.
На самом деле всё немного сложнее - там двоичное представление и степень двойки.
Но принцип не меняется - каждый тип с плавающей точкой имеет кроме границ (максимальное число
представимое этим типом) ещё и точность представления (типа число знаков после запятой).
Так понятней?
 

Sprung zu