首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个很简单的有关问题,关于浮点数的内存存放有关问题

2012-03-06 
一个很简单的问题,关于浮点数的内存存放问题1.System.Int32(Integer/int)占4Bytes范围是-2147483648to2147

一个很简单的问题,关于浮点数的内存存放问题
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这种形式,损失了精度来达到更大的范围。
[解决办法]
譬如说有一个数:

一亿八千三百二十五万四千七百八十二。
如果用整型,储存的是完整的数值:一亿八千三百二十五万四千七百八十二
用浮点型,储存的是近似数:约一亿八千万。


所以很显然同样的大小,浮点数的范围比整型大。

热点排行