一个很简单的问题,关于浮点数的内存存放问题
1.
System.Int32 (Integer/int) 占4Bytes 范围是-2147483648 to 2147483647
2.
System.Single (Single/float) 占4Bytes 范围是 -3.402823E+38 to 3.402823E+38
为啥同样是4bytes浮点数可以存放这么大,而整数却不能?
------解决方案--------------------存储的方式不一样.
INT32存储的是实际直
Single 存储的是字符
------解决方案--------------------因为浮点数是以减少了精度为代价的。
比方说,2147483647在浮点数里可能就是表示为2.147483E9这种形式,损失了精度来达到更大的范围。
------解决方案--------------------譬如说有一个数:
一亿八千三百二十五万四千七百八十二。
如果用整型,储存的是完整的数值:一亿八千三百二十五万四千七百八十二
用浮点型,储存的是近似数:约一亿八千万。
所以很显然同样的大小,浮点数的范围比整型大。