Вопросы с тегом «floating-point»

Числа с плавающей запятой представляют собой аппроксимацию действительных чисел, которые могут представлять большие диапазоны, чем целые числа, но используют тот же объем памяти за счет меньшей точности. Если ваш вопрос касается небольших арифметических ошибок (например, почему 0,2 + 0,1 равно 0,300000001?) Или десятичных ошибок преобразования, пожалуйста, прочитайте страницу информации, приведенную ниже, перед публикацией.

30
Математика с плавающей точкой нарушена?
На этот вопрос есть ответы на Stack Overflow на русском : Вычисления на числах с плавающей точкой не работают Рассмотрим следующий код: 0.1 + 0.2 == 0.3 -> false 0.1 + 0.2 -> 0.30000000000000004 Почему эти неточности случаются?

27
Как мне разобрать строку в float или int?
В Python, как я могу разобрать числовую строку , как "545.2222"его соответствующее значение поплавка 545.2222? Или разобрать строку "31"в целое число 31? Я просто хочу знать , как разобрать поплавок str на float, и (отдельно) в Int str к int.

12
Почему GCC не оптимизирует a * a * a * a * a * a до (a * a * a) * (a * a * a)?
Я делаю некоторую числовую оптимизацию для научного приложения. Одна вещь, которую я заметил, заключается в том, что GCC оптимизирует вызов pow(a,2), компилируя его a*a, но вызов pow(a,6)не оптимизируется и фактически вызовет библиотечную функцию pow, что значительно снижает производительность. (В отличие от этого , исполняемый файл компилятора Intel C ++icc исключает …



30
Как проверить, является ли строка числом (с плавающей точкой)?
Каков наилучший способ проверить, может ли строка представляться как число в Python? У меня сейчас есть функция: def is_number(s): try: float(s) return True except ValueError: return False Который, не только уродлив и медлителен, кажется неуклюжим. Однако я не нашел лучшего метода, потому что вызов floatв главной функции еще хуже.

5
Почему изменение от 0,1f до 0 снижает производительность в 10 раз?
Почему этот бит кода, const float x[16] = { 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6}; const float z[16] = {1.123, 1.234, 1.345, 156.467, 1.578, 1.689, 1.790, 1.812, 1.923, 2.034, 2.145, 2.256, 2.367, 2.478, 2.589, 2.690}; float y[16]; for (int i …


7
Есть ли в HTML5 тип ввода с плавающей точкой?
Согласно html5.org , атрибут «value» входного типа «number», если он указан и не пустой, должен иметь значение, которое является допустимым числом с плавающей запятой ». Тем не менее, это просто (в последней версии Chrome, во всяком случае) элемент управления «обновлением» с целыми числами, а не с плавающей точкой: <input type="number" …

30
Формат номера, чтобы всегда показывать 2 десятичных знака
Я хотел бы отформатировать мои числа, чтобы всегда отображать 2 десятичных знака, округляя, где это применимо. Примеры: number display ------ ------- 1 1.00 1.341 1.34 1.345 1.35 Я использовал это: parseFloat(num).toFixed(2); Но это отображается 1как 1, а не 1.00.


11
Как я могу заставить деление быть плавающей точкой? Деление продолжает округляться до 0?
У меня есть два целых значения aи b, но мне нужно их соотношение в плавающей запятой. Я знаю это a < bи хочу вычислить a / b, поэтому, если я использую целочисленное деление, я всегда получу 0 с остатком от a. Как я могу заставить cбыть числом с плавающей точкой …

14
Преобразовать десятичное число в двойное
Я хочу использовать a, Track-Barчтобы изменить Formнепрозрачность. Это мой код: decimal trans = trackBar1.Value / 5000; this.Opacity = trans; Когда я создаю приложение, оно выдает следующую ошибку: Невозможно неявно преобразовать тип decimalвdouble Я попытался с помощью transи , doubleно тогда Controlне работает. Этот код прекрасно работал в прошлом проекте VB.NET.

30
Как бороться с точностью чисел с плавающей точкой в ​​JavaScript?
У меня есть следующий тестовый скрипт: function test() { var x = 0.1 * 0.2; document.write(x); } test(); Выполнить фрагмент кодаСкрыть результатыРазвернуть фрагмент Это напечатает результат, в 0.020000000000000004то время как он должен просто напечатать 0.02(если вы используете свой калькулятор). Насколько я понял, это связано с ошибками в точности умножения с …

5
Почему Math.round (0.49999999999999994) возвращает 1?
В следующей программе вы можете видеть, что каждое значение немного меньше, чем .5округлено в меньшую сторону, кроме 0.5. for (int i = 10; i >= 0; i--) { long l = Double.doubleToLongBits(i + 0.5); double x; do { x = Double.longBitsToDouble(l); System.out.println(x + " rounded is " + Math.round(x)); l--; …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.