Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 20, средняя оценка - 4.70
kos_ua
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 35
#1

Значимость числа - C++

10.05.2006, 14:24. Просмотров 2443. Ответов 6
Метки нет (Все метки)

Пишем код:

float x=432.2;

http://www.cyberforum.ru/cpp-beginners/thread812065.html
x=x-432;

По логике и согласно арифметике:

x=0.2

А по мнению ВСЕХ компилеров С++/С

x=0.20001221

При добавлении целой части, в размере >200 остаток исчезает...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2006, 14:24
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Значимость числа (C++):

Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа, 4 числа, n чисел?
Как написать программу-калькулятор чтобы было можно додавать 2 числа, 3 числа,...

Ввести в программу строку (числа, латиница), считать только числа, записать числа в массив
Нужна помощь! Срочно! Нужно ввести в программу строку (числа, латиница),...

Поменять одну из цифр первого числа с цифрой второго числа, чтобы получившиеся числа были взаимно простыми
Даны натуральные числа M, N. Поменять одну из цифр первого числа с цифрой...

Даны два числа. Если квадратный корень из второго числа меньше первого числа, то увличить второе число в пять раз с++
Даны два числа. Если квадратный корень из второго числа меньше первого числа,...

Дан файл F, компонентами которого являются целые числа. Получить в файле G все нечетные числа, входящие в файл F. Числа в файле G должны следовать
Помогите доздать с++) вот задание: Дан файл F, компонентами которого являются...

6
boombastik
7 / 7 / 11
Регистрация: 13.02.2007
Сообщений: 1,255
10.05.2006, 17:05 #2
последствия приведения типов float -> double -> float, int -> double -> float
0
petrovich1
0 / 0 / 1
Регистрация: 22.09.2007
Сообщений: 314
10.05.2006, 17:37 #3
Очень неприятная вещь для научных вычислений и графики. При количестве итераций около 100 этот глюк становится заметен.
0
Silver
24.05.2006, 13:45 #4
x=0.20001221
При добавлении целой части, в размере >200 остаток исчезает...
Это не глюк! Это известная вещь, которая называется значимостью числа.
Сейчас я конечно навскидку не помню, но у каждого формата double, float есть количество цифр, которое является значимым.
Допустим для float это 8
получаем, что при добавлении 200 к 0.20001221 число становится равным 200.20001221.
Отсчитываем от начала 8 цифр (значимых) и получаем 200.2000
А неровный остаток x=0.20001221 из-за хранения числа в 16-ричном виде,
а не в десятичном.
Silver
24.05.2006, 13:53 #5
Исправление
Отсчитываем от начала 8 цифр (значимых) и получаем 200.20001
На самом деле там несколько сложнее, но принцип таков.
kos_ua
0 / 0 / 0
Регистрация: 29.03.2011
Сообщений: 35
05.07.2006, 11:47  [ТС] #6
Все намного проще... Слава Богу, есть такой предмет как ОФЭВМ (Организация функционирования ЭВМ).... Вот там и объяснили в чем же заключается соль...
0
boombastik
7 / 7 / 11
Регистрация: 13.02.2007
Сообщений: 1,255
05.07.2006, 15:49 #7
http://www.parashift.com/c++-faq-lite/newbie.html



вопрос № [29.16]
0
05.07.2006, 15:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.07.2006, 15:49
Привет! Вот еще темы с решениями:

От данного числа N вычтем сумму цифр этого числа, от полученного числа опять вычтем сумму цифр и т.д. до тех пор, пока число положительно
И опять: сколько можно? Задано натуральное число N. От данного числа...

значимость различия
Какой наиболее простой способ проверить - значимо ли различаются две выборки?...

Убрать значимость регистра
Как можно убрать учёт регистра букв? Что бы при попытке залогиниться не...

Значимость ООП при разработке
Вопрос возник из ничего :) Есть небольшой класс (10 процедур). Внутри него...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru