Свързани въпроси 'ieee-754'
Еквивалентност между два подхода към простата точност на IEEE 754
От известно време изучавам IEEE 754 и има нещо, което не успявам да разбера. Според моите бележки, в простата точност на IEEE имате 1 бит за знака, 8 за експонента и 23 за мантиса, което прави общо 32 бита. Експонентата може да се опише по...
26 изгледи
schedule
22.09.2022
Как се изпълнява fma().
Според документацията има функция fma() в math.h . Това е много хубаво и знам как работи FMA и за какво да го използвам. Но не съм много сигурен как това се прилага на практика? Интересувам се най-вече от архитектурите x86 и x86_64 .
Има...
1894 изгледи
schedule
01.10.2022
IEEE 754: sqrtf() с fesetround(): различни резултати между компилаторите: 0x42440a72 срещу 0x42440a73
#include <stdio.h>
#include <stdint.h>
#include <fenv.h>
#include <math.h>
int main()
{
typedef union { uint32_t u; float f; } ufloat;
ufloat val;
float arg = 2401.999999;
int r;
r =...
92 изгледи
schedule
30.09.2022
дефинирайте двойната константа като шестнадесетична?
Бих искал да имам най-близкото число под 1,0 като плаваща запетая. Като прочетох статията в wikipedia за IEEE-754 успях да разбера че двоичното представяне за 1.0 е 3FF0000000000000 , така че най-близката двойна стойност всъщност е...
3449 изгледи
schedule
10.12.2023
Защо е 8099.99975f != 8100f
Редактиране: Знам, че аритметиката с плаваща запетая не е точна. И аритметиката дори не е мой проблем. Добавката дава резултата, който очаквах. 8099.99975f не го прави.
Така че имам тази малка програма:
public class Test {
public...
128 изгледи
schedule
23.12.2023
Когато умножавам float с помощта на multu, трябва ли да игнорирам резултата в регистъра LO?
В нашия проект ние вземаме две плаващи числа от потребителя, съхраняваме ги в целочислени регистри и ги третираме като IEEE 754 плаващи числа с единична точност, като манипулираме битовете чрез маскиране. И така, след като умножа 23-те бита от...
482 изгледи
schedule
17.03.2024