谁能告诉我c/c++里面的float型以及double型数据在内存里面是咋存放的

都知道,float型数据占4字节,也就是占64位。
举个例子-0.25写成(-2.5)e(-1)我想了解的是这64位里哪几位表示-2.5哪几位表示-1
同样double型
不要以-0.25这个数给我讲,我要的是广泛的规定

首先,4字节是32位哦。。。

在内存中存储,是有一套规范的,应该是IEEE754标准吧,存储的数据不是说哪几位是存放什么的,一个小数会被拆分成三部分,符号位、指数位和尾数位,这些位点并不是直接存的数据,而是经过偏移的,单精度浮点的偏移量是127(十进制的),所以存储浮点数的时候要偏移量加上阶码。这个也没有什么为什么,因为IEEE754标准是这么规定的,得到了广泛认可。如果说有别的处理方式觉得更好也可以是别的。追问

那你举例说明下-2.5怎么存?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-23
4个字节,64位?//////////////////////////////////////////
1byte 8bit float也就是32位,计算机里浮点数的表示,IEEE754标准,数符+阶码+尾数一共32位,这在计算机组成原理里面都是重点讲解的
相似回答