GSL中的IEEE浮点算术

article/2025/6/10 4:46:57

IEEE浮点算术

    本章描述用于检查浮点数表示和控制程序的浮点环境的函数。本章描述的函数声明在头文件gsl_ieee_utils.h中。

47.1 浮点数的表示

    IEEE二进制浮点算法标准定义了单精度数和双精度数的二进制格式。每个数字由三部分组成:一个符号位(s),一个指数(E)和一个分数(f)。组合(s, E, f)的数值由下式给出:

     符号位不是0就是1。指数范围从最小值Emin到最大值Emax,这取决于精度。指数被转换成一个无符号数e,称为有偏指数,通过添加一个偏置参数来存储,

e=E+bias

    序列fffff……表示二进制分数f的数字。通过调整指数,使前导数字为1,二进制数字以标准化形式存储。由于标准化数字的前导数字总是1,因此隐式地假定它不需要存储。小于2Emin 的数字以前导零的反标准化形式存储,

      这使得p位精度逐渐下降到2Emin-p 。0用特殊指数2Emin-1 编码,无穷用指数2Emax+1 编码。

    单个精度数的格式为32位,按如下方式划分:

seeeeeeeefffffffffffffffffffffff

s = sign bit, 1 bit

e = exponent, 8 bits (E_min=-126, E_max=127, bias=127)

f = fraction, 23 bits

双精度数的格式为64位,按如下方式划分:

seeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffff

s = sign bit, 1 bit

e = exponent, 11 bits (E_min=-1022, E_max=1023, bias=1023)

f = fraction, 52 bits


    能够在位级上研究计算的行为通常是有用的,本库提供了以人类可读的形式打印IEEE表示的函数。

void gsl_ieee_fprintf_float(FILE * stream, const float * x)

void gsl_ieee_fprintf_double(FILE * stream, const double * x)

这两个函数将x所指向的IEEE浮点数的格式化版本输出到流stream中。指针用于间接传递数字,以避免任何不希望的从float到double的提升。输出采用以下形式之一,

NaN

不是一个数字符号

Inf, -Inf

正无穷或负无穷

    1.fffff...*2^E, -1.fffff...*2^E

    一个标准化的浮点数

    0.fffff...*2^E, -0.fffff...*2^E

    一种非标准化浮点数

0, -0

正零或负零

    输出可以在GNU Emacs Calc模式下直接使用,在输出前加2#表示二进制文件。

void gsl_ieee_printf_float(const float * x)

void gsl_ieee_printf_double(const double * x)

    这两个函数将x所指向的IEEE浮点数的格式化版本输出到流stdout。


http://chatgpt.dhexx.cn/article/u7byfgEw.shtml

相关文章

IEEE-754 64位双精度浮点数存储详解

IEEE-754双精度浮点数 IEEE二进制浮点数算术标准(IEEE 754)规定了四种表示浮点数值的方式:单精确度(32位)、双精确度(64位)、延伸单精确度(43比特以上,很少使用&#xf…

CSAPP学习记录-IEEE浮点表示

使用二进制定点表示浮点数十分麻烦,且由于有些浮点数的二进制不能精确表示,只能添加小数位数不断近似,使得位数开销极大。20世纪70年代已经有一些计算机厂家推出了自己的浮点数表示标准,但并不统一,于是在1985年IEEE 7…

聊一聊 IEEE754 标准(里面涉及浮点数精度丢失问题)

一、什么是 IEEE754 标准 IEEE 二进制浮点数算术标准(IEEE 754)是 20 世纪 80 年代以来最广泛使用的浮点数运算标准,为许多 CPU 与浮点运算器所采用。IEEE754 标准提供了如何在计算机内存中,以二进制的方式存储十进制浮点数的具体…

【算法】解析IEEE 754 标准

目录结构: contents structure [-] 浮点数的存储过程 次正规数(Denormalized Number)零(zero)非数值(NaN)无穷大(infinity)除数为0.0会发生什么浮点数的范围浮点数的精度…

如何深刻理解IEEE浮点数的表示(IEEE floating-point representation)

引言 大家都知道,可以在计算机处理器直接运行的是由0,1构成的机器代码(machine code),本文将介绍浮点数(floating-point number )在机器码中是如何被编码表示的。 整数(integer)是如何被编码的呢?小伙伴们应该听过补码,原码&…

【论文学习】7、ieee802.11ah中基于深度学习的载波频偏估计

摘要 基于ieee802.11标准的Wi-Fi系统是最流行的无线接口,它采用先听后讲(LBT)的方式进行信道接入。大多数基于LBT的系统的显著特征是,发射机使用在数据之前的前导码来允许接收机执行分组检测和载波频率偏移(CFO&#…

计算机中的小数 IEEE754

计算机中的小数 IEEE754 进制计数系统 在基数b的位置记数系统(其中b是一个正自然数,叫做基数),b个基本符号(或者叫数字)对应于包括0的最小b个自然数。 要产生其他的数,符号在数中的位置要被用到。最后一位的符号用它本身的值,向…

计算机组成原理:IEEE754标准中,为什么指数真值e变成阶码加上的偏移值是127不是128?

1.浮点数在计算机里的存储方式 以32位为例,短浮点型float,按照按照 IEEE754 标准,在计算机里的存储格式如下 数符S:表示浮点数的符号,占1位,0—正数、1—负数; 尾数M:23位,原码纯小数表示,小数…

ieee sci 期刊 写作经验 分享 博士发展阶段

0. 前言 本文仅记录最近我在论文写作中遇到的问题(感谢老师、师兄的用心指导),仅仅是我的个人分享,不适用于所有人。 1. introduction - 如何切入自己的工作? 1.1 不要没事找事 例子: 比如你做的是目标…

谈谈论文的发表(电光与控制,IEEE ACCESS)

前言 目前,科研任务差不多告一段落,总结一下发表论文的经验以及经历。 2021年3月,录用IEEE ACCESS一篇,本来老师想让投IEEE trans系列,但是工作的深度差一点,并且没有很好的实例论证,只有仿真&…

IEEE 754标准

普通规则下: 移码: 补码的基础上将符号位取反。注意:移码只能用于表示整数 移码的定义: 移码 真值 偏置值(确定移码,首先要确定偏置值) 偏置值一般取2^n-1,此时移码 补码符号位取反 IEEE 754规则下: 偏置值 2^n-1 - 1 相当于将普通规…

IEEE 754浮点数工业标准

文章目录 浮点数概述浮点数的格式IEEE 754标准规定的浮点数的格式IEEE 754偏移量与指数范围问题IEEE 754中浮点数值的三种情况:1. 规格化的浮点数的值2. 非规格化的值3. 特殊值 Java中的浮点数类型 浮点数概述 浮点数,是属于有理数中某特定子集的数的数字…

SPSS Modeler导入excel文件时出现“无法读取文件列名”解决方法

SPSS Modeler导入excel文件时出现“无法读取文件列名”解决方法 经过本人多次尝试,终于发现了原因 原因是:excel文件在后台打开了,因此spss modeler读取不了 解决方法:关闭正在打开的该excel文件,再读取即可 如果解决了…

SPSS Modeler 数据导入操作

1、导入文本文件 数据选项卡,主要是指定所读取数据的基本类型,通常无需修改,若需修改要先在覆盖那里打钩,然后下拉存储框进行修改 过滤选项卡是选择读取数据时读取哪些数据,同时可以修改变量名。 类型选项卡是指定读取…

SPSS导入excel文件时,保留4位小数点

SPSS导入excel文件时,保留4位小数点 SPSS导入excel文件时,会只保留整数部分,而小数点部分的数据不显示,如下图: 我尝试在SPSS的变量视图里将小数点位数改成4位,如图,但是导入数据后&#xff0c…

SPSS for Mac导入Excel表格找不到文件、以及“文件受密码保护”报错问题的解决办法

SPSS版本25,在导入Excel文件时显示不出来,需要移动到磁盘-用户-apple里面,我这里是我自己的用户名,移进去就可以看到了 之后可以用导入文件打开,也可以直接拖到数据视图,但是我这边又出现了一个小问题 出现…

SPSS数据抽取

SPSS数据抽取 数据抽取一般分为两类:字段拆分和随机抽样 字段拆分 数据抽取,也称为数据拆分,是只保留原数据表中的某些字段、记录的部分信息,形成一个新字段、新记录。 在spss中导入我们需要的数据,变量主要包含如…

利用SPSS做数据分析②之数据处理1

SPSS数据处理有六个步骤,分别是: 数据导入数据清洗数据抽取数据合并数据分组数据标准化 数据处理是根据数据分析的目的,将收集到的数据,用适当的处理方法进行加工、整理,形成适合数据分析的要求样式,它是数…

SPSS怎么筛选无效数据

我们在用IBM SPSS进行数据分析的时候,经常会遇见这样一种情形,想把不符合自己分析要求的数据全部筛掉。我们把这些要筛掉的数据叫作无效数据,无效数据不筛选掉不但会降低分析的效率,而且会影响最终结果的准确性。 要想提高准确性…

SPSS学习笔记

什么都写 插入个案:指一行 插入变量:指一列 设置 语言 编辑->选项 语言中可以选择输出的语言和界面的语言 变量定义 左下角切换到变量视图,可以修改变量的属性 1.类型可选,注意会影响到后面测量中的选项,如…