IEEE Standard 754 浮点数

1,在C语言家族的编程语言中,常用到的是单精度浮点数(single precision)和双精度浮点数(double precision)。它们的 表示方法如下:

在这里插入图片描述
Sign:0代表正数,1代表负数(no surprise)
Exponent:8位的二进制数值,可以表示0~255范围的256个数,。。。等等。。。进行幂的计算时是有正有负的,不需要as before留出第一位作为符号位吗?
由于sign已经是符号位了,在阶码中再弄一个符号位会导致补码功能失效(为啥?有待下次探究)。
这里使exponent有正有负的操作是减去127,所以它的范围是-127到128。
Mantissa:尾数,相当于十进制科学计数法中小数点后面的数,具体使用时是(1+Mantissa)
在这里插入图片描述

2,例子

2.1 十进制化成二进制浮点数:
( 100.227 ) 10 (100.227)_{10} (100.227)10
用二进制表示出来为 1100100.00111010000111001011 1100100.00111010000111001011 1100100.00111010000111001011
化成规范化数为 1.10010000111010000111001011 ∗ 2 6 1.10010000111010000111001011*2^6 1.1001000011101000011100101126
Sign:
1
exponent:
由于最高阶为6,则阶码为6+127=133,二进制形式为 10000101 10000101 10000101
Mantissa:
10010000111010000111001011 (尾数不够用了,去掉后面三位,使得总数为23位)。
综上, ( 100.227 ) 10 (100.227)_{10} (100.227)10在计算机中的存储形式为11000010110010000111010000111001(一共32字节)。

2.2 浮点数化成二进制数:
( 10111111010...0 ) 2 (10111111010...0)_{2} (10111111010...0)2,中间省略20个零。
拆解成三部分:
1:符号位,是个负数;
01111110:阶码位,126-127=-1
10…0:尾数
结果为 − 1.10...0 ∗ 2 − 1 = ( − 0.75 ) 10 -1.10...0*2^{-1}=(-0.75)_{10} 1.10...021=(0.75)10

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: IEEE 754点数是一种可表示实数的标准格式,在计算机科学中被广泛使用。LabVIEW作为一种高级程序设计语言,也支持IEEE 754点数的转换。 在LabVIEW中,将点数转换为IEEE 754格式可以通过使用“Type Cast”或“Flatten to String”函数来实现。Type Cast函数可以将任何数据类型转换为另一个数据类型,而Flatten to String函数则将任何数据类型转换为字符串格式。 另外,在LabVIEW中还可以使用“IEEE Floating Point”面板对象来表示IEEE 754点数。这个对象有多种不同的显示格式,可以根据实际需要选择。 同时,也可以使用“Unflatten from String”函数将字符串格式的IEEE 754点数转换为实数。这个函数与“Flatten to String”函数相对应,可以将任何字符串转换为指定数据类型的数据。 总之,通过上述方法,在LabVIEW中可以方便地进行IEEE 754点数的转换和表示,方便实现各种复杂的计算任务。 ### 回答2: IEEE754点数是现代计算机系统中广泛使用的一种二进制数表示方法,用于表示实数。在LabVIEW中,通过使用数字数据类型的标签来指定点数据是单精度点数还是双精度点数。 为将点数转换为IEEE754点数,需要将点数的符号、阶码和尾数转换成对应的二进制格式。在单精度点数中,符号位占1位,阶码占8位,尾数占23位,而在双精度点数中,符号位占1位,阶码占11位,尾数占52位。在进行点数转换时,需要注意计算机中点数的字节序,以正确存储转换后的IEEE754点数。 为了在LabVIEW中完成点数转换,可以使用“单精度点数转换”或“双精度点数转换”函数。这些函数可以将点数转换为IEEE754点数,并将结果存储在指定的输出变量中。此外,在LabVIEW中也可以使用“数字到字符串”函数,将点数转换为字符串格式,方便输出或显示。 需要注意的是,由于点数的精度限制,在进行点数计算时可能会出现舍入误差,这些误差可能会影响计算结果的精度和准确性。因此,在LabVIEW中进行点数计算时,需要注意点精度问题,并尽可能采用正确的计算方法来避免误差积累的影响。 ### 回答3: IEEE 754点数是一种二进制数的表示方式,用于表示实数。这种表示方式包括三个部分:符号位、指数位和尾数位。 在LabVIEW中,可以使用Float to Hex和Hex to Float这两个函数进行IEEE 754点数的转换。Float to Hex函数将一个点数转换成其对应的16进制数,而Hex to Float函数将16进制数转换成对应的点数。 在进行转换时,需要注意保留位数的问题。IEEE 754点数中有单精度点数和双精度点数,其精度分别为32位(4字节)和64位(8字节)。在LabVIEW中,Float to Hex函数默认输出8位16进制数,而Hex to Float函数默认输入8位16进制数。如果需要更多的位数精度,可以在函数的属性中进行相应的设置。 除了转换函数外,LabVIEW中还提供了计算IEEE 754点数的函数,如Get Single Precision Float Info和Get Double Precision Float Info。这些函数可以获取点数的符号位、指数位和尾数位等信息,方便进行更复杂的运算。 总之,IEEE 754点数转换在LabVIEW中非常方便快捷。使用Float to Hex和Hex to Float这两个函数,可以轻松地完成点数的转换,而通过更复杂的函数,还可以进行精度更高的运算。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值