0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 4
|
|
1 | |
Зачем в целом числе писать вещественную часть при расчете триганометрических функций в библиотеке math.h09.12.2016, 12:01. Показов 1139. Ответов 4
Метки нет Все метки)
(
Доброго времени суток. В чем собственно петрушка. При расчете функции наткнулся на ошибку вычислений. В результате было обнаружено следующее. sin(13/2) дает значение (-0.28), что не совсем правильно, но когда выделил вещественную часть, тобеж sin(13.0/2.0) получил адекватное значение (0.21). Хотел бы поинтересоваться, почему так получается, и все ли функции, которые я использую из библиотеки math должны иметь только вещественные члены для точных расчетов?
0
|
09.12.2016, 12:01 | |
Ответы с готовыми решениями:
4
При заданном целом числе и введённым с клавиатуры целым числом вычислить произведение этих чисел |
![]() ![]() 5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
|
|
09.12.2016, 12:14 | 2 |
![]() Решение
Ибо 13/2=6 т.к. при делении целых операндов получается целый результат, при этом дробная часть отбрасывается, а при делении вещественных операндов получаем вещественный результат, т.е. 13.0/2.0=6.5
1
|
![]() 161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
|
|
09.12.2016, 12:18 | 3 |
![]() Решение
fatalict, Даценд сказал достаточно. Но вот еще. Ты просто кидаешь в аргументы литералы типа int, когда пишешь
sin(13/2) , а при записи sin(13.0/2.0) ты кидаешь ему литералы типа double. Переменные типа int тебе при делении никак не дадут дробную часть, они её выкидывают. А вот double её сохраняют и ты получаешь верный результат.
1
|
Диссидент
![]() ![]() 27710 / 17328 / 3810
Регистрация: 24.12.2010
Сообщений: 38,979
|
||||||
09.12.2016, 12:20 | 4 | |||||
![]() Решение
fatalict, Очень хороший, прямо замечательный вопрос!
Основная твоя ошибка, что ты не видишь, что 13/2 = 6. Да, не шесть с половиной, а именно 6. И куда деваться компилятору? Он видит целое число 13. Видит целое число 2. И делит их как целые числа, т.е. с отбрасыванием остатка. Стоит тебе написать 13.0/2 (double)13/2 или что-то иное, дающее компилятору понять, что мы собираемся работать с действительными числами. Писать же
1
|
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 4
|
|
09.12.2016, 12:28 [ТС] | 5 |
А я даже читал про это.... Даже стыдно сейчас стало за такой вопрос
![]()
0
|
09.12.2016, 12:28 | |
Помогаю со студенческими работами здесь
5
Зачем в .NET в 2014 г. строгая типизация? Зачем нужно писать Convert.ToInt32(), ToString(), Int32.Parse()? double функции в библиотеке math.h VC++6.0/ATL - ошибка сборки в режиме Release при исп.функций из math.h Определите функции: nd(n) - вычисляющую количество цифр в числе; d (n,k) - вычисляющую k цифру справа в целом числе Компонент textBox обрезает вещественную часть Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Новые блоги и статьи
![]() |
||||
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной.
Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
|
Формулы поворота
Igor3D 10.03.2025
Добрый день
Тема
Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости".
x' = x * cos(a) - y * sin(a)
y' = y * cos(a) + x * sin(a)
Как бы Вы их. . .
|
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
|
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
|
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
|
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view.
string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
|
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
|
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет!
Отправлено 19 февраля 2025 года в 17:20:21 UTC
Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home.
Мы официально. . .
|
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
|
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
|