Math 存储为浮点的整数
我有一些关于整数和浮点数的问题:Math 存储为浮点的整数,math,ieee-754,Math,Ieee 754,我有一些关于整数和浮点数的问题: 是否可以将每个32位无符号整数值存储到64位IEEE浮点值中(这样,当我将双精度值赋回int时,int将包含原始值) 什么是不能存储在32位IEEE浮点值中的最小(幅度)正整数值和负整数值(定义与1相同) 这些问题的答案是否取决于所使用的语言 //编辑:我知道这些问题听起来有点像一些测试,但我问这些问题是因为我需要对数据格式定义做出一些决定 是的,您可以将32位整数存储为64位double,而不会丢失信息。尾数有53位精度,这就足够了 32位浮点具有24位尾数,
double
,而不会丢失信息。尾数有53位精度,这就足够了浮点
具有24位尾数,因此具有唯一表示形式的最大和最小整数为2^24-1和-2^24+1(16777215和-16777215)。较大的数字没有唯一的表示形式;例如16777216==(浮点)16777217
嘿,乔尼-这是否意味着如果我将2^24分配给一个双精度,然后分配给一个整数,整数将包含2^24-1?如果你将2^24分配给一个
浮点,然后分配给int
,你将得到2^24。但是,如果您将2^24+1分配给一个float
,然后再分配给int
,您也会得到2^24。也就是说,如果你回到2^24,你就不知道它原来是哪个数字了。啊,是的,我的意思是浮动不是双倍。好的,这很有道理,谢谢!:)