Ieee-754 – вопросы и ответы

64
голоса
1
ответ
Я знаю, что 10.51200 сохраняется в памяти как 0x4025065220000000 с использованием формата с плавающей запятой IEEE. Но когда я передаю это функции sprintf() в Perl, как показано ниже, я получаю неп...
7 месяцев, 3 недели назад Nani
253
голоса
3
ответа
Кажется, что стандарт IEEE 754 определяет 16,777,214 32-битных значений с плавающей запятой как NaNs, или 0,4% от всех возможных значений. Интересно, в чем заключается обоснование для резервировани...
7 месяцев, 3 недели назад leventov
111
голосов
1
ответ
Я написал программу для печати битовой диаграммы числа с плавающей точкой в C. Поэтому я ожидал получить стандартную битовую схему IEEE-754, то есть: 1 бит знака | 8 бит EXP | 23 бит мантиссы когда...
7 месяцев, 3 недели назад Ben
122
голоса
1
ответ
Я застрял в преобразовании наименьшего числа денормализованной двойной точности, которое равно 2 ^ -1074 одному в форме мощности 10. Любая помощь, касающаяся того, как я могу это сделать, будет оце...
7 месяцев, 3 недели назад Astronautilus
129
голосов
2
ответа
Я написал сервер сокетов, который считывает данные с некоторых устройств. После чтения данных двоичный сдвиг применяется к байтам. После этого я получаю целочисленное значение, например, 1108304047...
7 месяцев, 3 недели назад Fırat KÜÇÜK
79
голосов
1
ответ
Можно ли извлечь мантиссы и экспонента из поплавка в основных реализациях схемы R6RS, чтобы: v = f x b ^ e f - мантисса b - база e - экспонента Например: 3.14 = 0.785 x 2 ^ 2 Если он не поддерживае...
7 месяцев, 3 недели назад Yasir Arsanukaev
120
голосов
2
ответа
Я использую следующую функцию для аппроксимации производной функции в точке: def prime_x(f, x, h): if not f(x+h) == f(x) and not h == 0.0: return (f(x+h) - f(x)) / h else: raise PrecisionError В ка...
7 месяцев, 3 недели назад Alex
-5
голосов
1
ответ
Кажется, существует много подходов, чтобы судить о том, идентичны ли два числа с плавающей запятой. Вот несколько примеров, которые я нашел: fabs(x - y) < n * FLT_EPSILON * fabs(x) OR fabs(x - y...
7 месяцев, 3 недели назад nalzok
92
голоса
2
ответа
У меня есть расчет javascript: var temp = ((1 + 0.07)^(1/12))-1; Фактический ответ для этого: +0,00565414539 На ^ (1/12) (0.833..) вы получаете 1.00565414539 Однако Javascript автоматически округля...
7 месяцев, 3 недели назад Craig Traynor
79
голосов
6
ответов
Предположим, что у меня есть иррациональное число, например \sqrt{3} . Поскольку он иррационален, он не имеет десятичного представления. Поэтому, когда вы пытаетесь выразить это с помощью IEEE 754 ...
7 месяцев, 3 недели назад Martin Thoma
314
голосов
3
ответа
Я только что слышал, что iphone не может делать двойным путем, тем самым делая их намного медленнее, чем обычные float. Это правда? Доказательства? Меня очень интересует проблема, потому что моя пр...
7 месяцев, 3 недели назад John Smith
90
голосов
1
ответ
Это следующий вопрос В чем смысл всех сравнений, возвращающих значение false для значений IEEE754 NaN? (я думаю, что это лучше, чем другой вопрос, чем комментарий). У этого есть очень хороший ответ...
7 месяцев, 3 недели назад SkySpiral7
79
голосов
1
ответ
Есть ли способ конвертировать число с плавающей запятой ( f32 или f64 ) в тип данных, к которому я могу обращаться поразрядным, например u32 / u64 ? То есть, что-то, что соответствует: fn as_bits(i...
7 месяцев, 4 недели назад Johannes Hoff
134
голоса
3
ответа
Есть ли совместимый с С++ способ определения структуры "float", "double" и "long double" во время компиляции (или времени выполнения в качестве альтернативы)? Если я предполагаю std::numeric_limits...
7 месяцев, 4 недели назад Charles L Wilcox
78
голосов
1
ответ
В реальной арифметике с плавающей запятой мы имеем дополнительные символы INF (бесконечность), NAN и подписанный ноль. Для сложной арифметики это сложнее. Если использовать "наивные" правила для ум...
7 месяцев, 4 недели назад Andreas H.
128
голосов
8
ответов
Мне нужно оценить сумму строки: 1/1 + 1/2 + 1/3 +... + 1/n. Учитывая, что оценки С++ не являются точными, порядок суммирования играет важную роль. 1/n + 1/(n-1) +... + 1/2 + 1/1 дает более точный р...
7 месяцев, 4 недели назад Michael Pankov
149
голосов
4
ответа
Я поддерживаю программу, которая берет данные из программы PDP-11 (emulated!) и помещает ее в современную систему на базе Windows. У нас возникают проблемы с сообщением некоторых значений данных ка...
7 месяцев, 4 недели назад user41013
65
голосов
1
ответ
Я пытаюсь понять, как бесконечное двоичное число, например 0.1 , может быть представлено в научной нотации и в конечном итоге в плавающей точке. В Интернете есть много примеров, объясняющих, как чи...
7 месяцев, 4 недели назад Max Wizard K
112
голосов
4
ответа
Мне нужно представить двойное (64-разрядное) число IEEE 754-1985 с плавающей запятой в текстовой форме, читаемой человеком, с условием, что текстовая форма может быть проанализирована обратно в точ...
7 месяцев, 4 недели назад Vladimir Panteleev
127
голосов
1
ответ
Как вычесть числа IEEE 754? Например: 0,546875 - 32,875... - > 0,546875 - 0 01111110 10001100000000000000000 в IEEE-754 - > -32.875 - 1 10000111 01000101111000000000000 в IEEE-754 Итак, как м...
7 месяцев, 4 недели назад Tiago Costa
79
голосов
2
ответа
Некоторые случаи периодических граничных условий (PBC) можно очень эффективно накладывать на целые числа, просто выполняя: myWrappedWithinPeriodicBoundary = myUIntValue & mask Это работает, ког...
8 месяцев назад Jens
65
голосов
2
ответа
Рассмотрим следующий пример. Существует изображение, в котором пользователь может выбрать прямоугольную область (ее часть). Изображение отображается с некоторым масштабом. Затем мы меняем масштаб, ...
8 месяцев назад x-yuri
135
голосов
2
ответа
Я знаю, что значения с плавающей запятой в JavaScript хранятся в двоичном формате base-2, указанном в IEEE 754. Для меня это означает, что, когда я присваиваю значение литерала .1 переменной, факти...
8 месяцев назад Erik Hermansen
135
голосов
2
ответа
Существуют ли полностью совместимые реализации IEEE754r для Java, которые предлагают поддержку для всех функций, которые Java предпочла опустить (или, скорее, языки высокого уровня, как правило, оп...
8 месяцев назад Durandal
64
голоса
3
ответа
В стандарте C++ он говорит о плавающих литералах: Если масштабированное значение не находится в диапазоне отображаемых значений для его типа, программа плохо сформирована. Масштабированное значение...
8 месяцев назад Andrew Tomazos
-10
голосов
2
ответа
Ни 0.1d, 0.2d, ни 0.3d не могут быть представлены точно в двоичном формате. Почему 0.1D + 0.1D == 0.2D истинно в Java? 64-битное двоичное число - как стать 0,1,0,2,0,3 Где код?
8 месяцев назад pppp
65
голосов
2
ответа
Изменение: я знаю, что арифметика с плавающей запятой не является точной. И арифметика - это даже не моя проблема. Добавление дает ожидаемый результат. 8099.99975f нет. Поэтому у меня есть эта небо...
8 месяцев назад IchBinKeinBaum
79
голосов
2
ответа
Как размеры, не являющихся типами с плавающей запятой IEEE754 с float , double и long double ограничены? Я знаю, что каждый тип с плавающей запятой должен иметь возможность представлять все значени...
8 месяцев назад Charles L Wilcox
79
голосов
2
ответа
Рассмотрим 32-битное число с плавающей запятой (IEEE 754), имеющее 0-22 для мантиссы (23 бит), 23-30 для показателя (8 бит), 31 для знака (1 бит) Я хочу узнать наименьшее положительное число, котор...
8 месяцев назад user1371666
110
голосов
1
ответ
Каков риск потери точности, связанной с математикой, например, при использовании чисел с плавающей запятой IEEE754 (в JavaScript)? 10*.1 т.е. целые числа, умноженные на рациональное число.
8 месяцев назад Ben
136
голосов
2
ответа
Это алгоритм суммирования Кахана из Википедии : function KahanSum(input) var sum = 0.0 var c = 0.0 for i = 1 to input.length do y = input[i] - c // why subtraction? t = sum + y c = (t - sum) - y su...
8 месяцев назад fredoverflow
91
голос
3
ответа
Дайте десятичное число 0,2 EX var theNumber= 0.2; Я предполагаю, что он будет храниться в памяти как (на основе 64-битного формата с плавающей запятой двойной точности IEEE 754) 0-01111111100-10011...
8 месяцев назад vothaison
128
голосов
5
ответов
Что-то сломано или я не понимаю, что происходит? static String getRealBinary(double val) { long tmp = Double.doubleToLongBits(val); StringBuilder sb = new StringBuilder(); for (long n = 64; --n >...
8 месяцев назад Margus
111
голосов
2
ответа
Я пытался преобразовать значение S & P 500, которое сегодня составляет 1864.78, к тому, как оно будет представлено в формате одиночной точности IEEE в памяти. Преобразование левой части десятич...
8 месяцев назад Kane Schutzman
79
голосов
1
ответ
Согласно документам sqlite все числовые значения представлены внутренне как 18-значное десятичное число с 3-значным индексом base-10. Мне нужно сохранить IEEE 754 double ( включая все виды NaN, pos...
8 месяцев назад Kaponir
101
голос
1
ответ
Мне нужна помощь в программировании. Я должен написать программу, которая может делиться и размножаться без клавишных и содержать стандарт IEEE 754. Я могу использовать только +, -, отрицание и лог...
8 месяцев назад Lyzy
79
голосов
2
ответа
Я переношу некоторый код из Matlab в С++. В Matlab format long D = 0.689655172413793 (this is 1.0 / 1.45) E = 2600 / D // I get E = 3.770000000000e+03 В С++ double D = 0.68965517241379315; //(this ...
8 месяцев назад lppier
78
голосов
2
ответа
Первый вопрос для меня, пожалуйста, будьте осторожны. У меня есть функция Log10, которую я очень доволен Public Function Log10(ByVal n As Long) As Long Select Case n Case Is >= 1000000000: Log10...
8 месяцев назад Occluded Sky
78
голосов
3
ответа
Насколько я понимаю, знаменитый (0.1 + 0.2) !== 0.3 gotcha на самом деле не является ошибкой Javascript. Это именно то, как работает IEEE 754. Аналогичный вывод происходит в Python, который также с...
8 месяцев назад Manav
101
голос
1
ответ
Аккуратность в Википедии binary32 имеет от от 6 до 9 значимых десятичных цифр и 64 от от 15 до 17. Я обнаружил, что эти значащие десятичные цифры были рассчитаны с использованием Mantissa, но я не ...
8 месяцев назад alixander
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема