The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Программирования высокого уровня
.
Google unix.com



Программирования высокого уровня Почтовые вопросы о C, C + +, Java, SQL и других языках программирования здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Расхождение в / VAR / ADM / сообщений sundar3350 SUN Solaris 15 03-11-2009 11:23 AM
Как сделать так, чтобы последние в HTML:: образованиями расхождения по RPM? jjinno UNIX для чайников Вопросы И Ответы 2 08-07-2007 01:39 PM
VSFTP бзик Spetnik UNIX для чайников Вопросы И Ответы 7 04-28-2004 03:58 PM
Шек логин расхождение Генрик UNIX для чайников Вопросы И Ответы 11 04-08-2003 10:17 AM
Вс Пароль бзик jacobsa UNIX для чайников Вопросы И Ответы 4 05-30-2002 08:50 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 06-13-2009
Trones Trones is offline
Зарегистрированный пользователь
  
 

Регистрация: Декабрь 2008
Сообщений: 5
Java двойным Вычитание бзик (не обычной округления несоответствие)

Я переживает Java Tutorial, и побежал через некоторые странности в этой небольшой пример ...

Код:
 class SqrRoot {
    public static void main(String args[]) {
        double num,sroot,rerr,resquare;
        
        for(num = 1.0; num < 100.0; num++) {
            sroot = Math.sqrt(num);
            System.out.println("Square root of " + num + " is " + sroot);
            
            // compute rounding error
            resquare = (sroot * sroot);
            rerr = num - resquare;
            System.out.println("Rounding error: num + " - " + resquare + " = " + rerr);
            System.out.println();
        }
    }
}
Возвращение странно - когда я увидела результаты, я написал небольшую программу, которая вычитается ряд буквальном чисел с плавающей точкой, все с обычной двоичной в десятичную oddness (1.002 - 1.001 \u003d .000999999997), но когда я запускаю вышеуказанным код, я получаю, что ниже:

Код:
Square root of 1.0 is 1.0
1.0 - 1.0 = 0.0

Square root of 2.0 is 1.4142135623730951
2.0 - 2.0000000000000004 = -4.440892098500626E-16

Square root of 3.0 is 1.7320508075688772
3.0 - 2.9999999999999996 = 4.440892098500626E-16

....
Я не уверен, что если он что-то я делаю неправильно или что является причиной его. Я искал всего и все мы обнаружили, это люди с просьбой об аппаратных ограничений арифметики с плавающей точкой. Любая помощь будет с благодарностью.

----- ----- Обновление темы

После просмотра он размещен здесь, я просто реализуется, я не принимая во внимание научно-нотации ... Мальчик с немым я чувствую сейчас
 

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 01:07 AM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0