Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 19:12   #11
JokerWCC
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 18
По умолчанию

в double правильно выдает))))

1.0011717677116394
1000000.20000001
1000000.2
1.0011717677116394E-8
1.0E-8
JokerWCC вне форума Ответить с цитированием
Старый 28.11.2010, 19:13   #12
DRAgon™
Форумчанин
 
Аватар для DRAgon™
 
Регистрация: 14.03.2010
Сообщений: 362
По умолчанию

так не пойдет?
Код:
public class MAin {


		public static void main(String[] args) {
		float a=1000;
		float b= 0.0001F;
		float c=(a+b)*(a+b);
		float d=(a*a+2*a*b);
		float e=c-d;
		float f=b*b;
		float result=e/f;
		System.out.println((double)result);
		System.out.println((double)c);
		System.out.println((double)d);
		System.out.println((double)e);
		System.out.println((double)f);
		}
	  }
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
DRAgon™ вне форума Ответить с цитированием
Старый 28.11.2010, 19:14   #13
JokerWCC
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 18
По умолчанию

нет, результат остается тем же.....один в один.....

Последний раз редактировалось JokerWCC; 28.11.2010 в 19:17.
JokerWCC вне форума Ответить с цитированием
Старый 28.11.2010, 19:17   #14
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от DRAgon™ Посмотреть сообщение
так не пойдет?
Код:
public class MAin {


		public static void main(String[] args) {
		float a=1000;
		float b= 0.0001F;
		float c=(a+b)*(a+b);
		float d=(a*a+2*a*b);
		float e=c-d;
		float f=b*b;
		float result=e/f;
		System.out.println((double)result);
		System.out.println((double)c);
		System.out.println((double)d);
		System.out.println((double)e);
		System.out.println((double)f);
		}
	  }
Не будет работать , число изначально было float
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 28.11.2010, 19:19   #15
DRAgon™
Форумчанин
 
Аватар для DRAgon™
 
Регистрация: 14.03.2010
Сообщений: 362
По умолчанию

Цитата:
Сообщение от JokerWCC Посмотреть сообщение
нет, результат остается тем же.....один в один.....
неужели?Сравни
Код:
6250000.5
1000000.25
1000000.1875
0.0625
9.99999905104687E-9
Чем больше моя слава, тем я больше тупею; и таково, несомненно, общее правило.(А.Эйнштейн)
DRAgon™ вне форума Ответить с цитированием
Старый 28.11.2010, 19:22   #16
JokerWCC
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 18
По умолчанию

извиняюсь..... ответ разный, но неверный все равно....
с не правильно высчитывается.... в java с учетом точности оно должно выглядеть так:
1000000.2
d тоже 1000000.2
e=c-d=0.....
JokerWCC вне форума Ответить с цитированием
Старый 28.11.2010, 19:36   #17
JokerWCC
Пользователь
 
Регистрация: 10.10.2010
Сообщений: 18
По умолчанию

добавил кое-что в программу (расписал c):

package laba2floats;

public class Main {

public static void main(String[] args) {
float a=1000;
float b= 0.0001F;
float c=(a+b)*(a+b);
float d=(a*a+2*a*b);
float e=c-d;
float f=b*b;
float result=e/f;
float g=0.13F;
float k=0.12F;
float pr=g-k;
float aaa=a+b;
float bbb=aaa*aaa;
System.out.println(result);
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(f);
System.out.println(pr);
System.out.println(b);
System.out.println(aaa);
System.out.println(bbb);
}

}

Результат:

6250000.5
1000000.25
1000000.2
0.0625
9.999999E-9
0.009999998
1.0E-4
1000.0001
1000000.25

получается Java умножает 1000.0001 на 1000.0001 и получает 1000000.25 хотя на любом калькуляторе можно проверить и получить:
1000000.2 (или если считают на инженерном то: 1000000.20000001)

может кто-то проверить эту программу у себя на компьютере?? возможно у меня битый JDK...
JokerWCC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
чтение файла в массив строк java (Перенесено из Java SE) Sasha9132 Помощь студентам 0 18.11.2010 22:57
Помогите справиться с java.lang.OutOfMemoryError: Java heap space Levilaulada Помощь студентам 1 17.05.2009 10:59