Здравствуйте, гость ( Вход | Регистрация )
SABROG | Дата 8.3.2010, 20:39 |
Так например:
10.0 - десятые, 1 знак 100.0 - сотые, 2 знака 1000.0 - тысячные, 3 знака ... 1000000.0 - миллионные, 6 знаков после запятой Только надо проверку какую-нибудь, чтобы int не переполнился. |
|
Tonal | Дата 7.3.2010, 18:59 |
Читать что такое числа с плавающей точкой до просветления. | |
Iron Bug | Дата 6.3.2010, 20:28 |
Проверял на javascripte, нужны ещё 6 знаков после запятой. поясни, как ты проверял сишный вывод "на жабаскрипте"? у Си никакого урезания в double не происходит. жабаскрипт - не строго типизированный язык и, вообще говоря, там даже не знаю, можно ли надеяться хоть на какую-то точность представления или нет. это скриптовый язык, не рассчитанный на математические вычисления. я не знаю, как ты эти два слишком разных языка скрестить ухитрился, но попробуй сделай обычный вывод в консоль средставами Си и убедишься, что Си выдаёт тебе более чем достаточно знаков. |
|
mycoding | Дата 6.3.2010, 13:36 |
Проверял на javascripte, нужны ещё 6 знаков после запятой. | |
Iron Bug | Дата 5.3.2010, 22:01 |
Да нет, надо не cout, а именно в массив записать с точностью до 8-10 знаков после запятой, а то тот код который приведён, он почему-то только 3 знака берёт после запятой, а должно быть 6. а как ты проверял, что 3? вообще, в double дофига знаков. а sin возвращает значение типа double. у тебя там значения ни о чём для double - должны сохраняться все 15 знаков. |
|
mycoding | Дата 5.3.2010, 16:07 |
Да нет, надо не cout, а именно в массив записать с точностью до 8-10 знаков после запятой, а то тот код который приведён, он почему-то только 3 знака берёт после запятой, а должно быть 6. | |
Iron Bug | Дата 5.3.2010, 14:55 |
"точность знаков" - это при печати тебе надо? в double нет никакой "точности знаков", он будет хранить 8 байт и там будет 15 знаков, по определению типа, если это Си. можешь, конечно, попробовать искусственно отсекать "лишнее", если тебе очень критично. но вопрос - зачем? |
|
mycoding | Дата 5.3.2010, 9:52 |
Подскажите пожалуйста, как сделать точность знаков вот в этом случае, ну например 10 после запятой for(int i=0;i<100;i++) { sin1[i]=sin((double)i/10)*10+250; } |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 25.4.2024, 2:41 |