社区
C语言
帖子详情
一个关于浮点数的存储问题.
th362cn
2005-03-18 03:05:07
我最近学习c语言.书上说浮点数在内存中的顺序是:
符号位 隐藏的小数点 小数 指数
这样的排列顺序.想请教各位高手.
就TC2.0而言,float型和double型的"小数位"和"指数位"各是多少位二进制?
为何float型浮点数有效数字只有7位?
...全文
157
4
打赏
收藏
一个关于浮点数的存储问题.
我最近学习c语言.书上说浮点数在内存中的顺序是: 符号位 隐藏的小数点 小数 指数 这样的排列顺序.想请教各位高手. 就TC2.0而言,float型和double型的"小数位"和"指数位"各是多少位二进制? 为何float型浮点数有效数字只有7位?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
th362cn
2005-03-18
打赏
举报
回复
谢谢了.
寻开心
2005-03-18
打赏
举报
回复
关于32位浮点数的结构,你可以看我的btlog当中的描述部分
http://btlog.csdn.net/happy_888
根据IEEE的标准,浮点数的定义如下
符号位 指数位 小数部分 指数偏移量
单精度浮点数 1 位[31] 8位 [30-23] 23位 [22-00] 127
双精度浮点数 1 位[63] 11 位[62-52] 52 位[51-00] 1023
我们以单精度浮点数来说明:
符号位,表述浮点数的正或者负
指数实际也有正负的,但是没有单独的符号位,而是采用了一个偏移来表示
在计算机的世界里,进位都是二进制的,指数表示的也是2的N次幂
这个数据格式当中的,指数是8位,可表达的范围是0到255
而对应的实际的指数是-127到+128
这里特殊说明,-127和+128这两个数据在IEEE当中是保留的用作多种用途的
-127表示的数字是0
128和其他位数组合表示多种意义,最典型的就是NAN状态
小数部分,并不是一个浮点数的实际的小数
实际的小数在这个小数前面还保留了一个1
拿浮点数1.0来说
符号位是0, 实际指数是0,对应这里的指数就是127了,也就是0x7f
而小数部分就是1.0了, 1是暗含的不存储,实际的小数部分就是0了
因此组合起来的数据就是,0x3f80000
16位的也是类似的,自己分析一下
WORD w = *((WORD*)(&f))
是把一个浮点数按照内存结构转化成为一个unsigned int 16位的结构
TC 2.0不是C++ ,是c++的话就可以简单 w = (int&) f; 就可以了
th362cn
2005-03-18
打赏
举报
回复
我没领会你的意思.WORD 和DWORD 引导的是何物?如何使用?
寻开心
2005-03-18
打赏
举报
回复
无论在什么系统上,对于一个数据类型来说,使用c语言的sizeof函数都可以知道它的大小是2个字节还是4个字节
对于16位的系统,tc2.0来说, float 是16位, double是32位的
根据ieee的浮点数标准是可以精确的知道组成float或者double的各个位的情况的
无论你是出于什么目的来研究这个结构,都可以用下面的方法获得它的各个位的状况
float f;
double d;
WORD w = * ((WORD * )( &f))
DWORD dw = * ((DWORD * )( &f))
mysql中的强制索引_MYSQL中常用的强制性操作(例如强制索引)
其他强制操作,优先操作如下:mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。强制索引 FORCE INDEX复制代码 代码如下:SELECT * FROM TABLE1 FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIE...
MYSQL中常用的强制性操作(例如强制索引)
对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。 其他强制操作,优先操作如下: mysql常用的hint 对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。 强制索引 FORCE INDEX 复制代码代码如下: SELECT * FROM TABLE1 FORCE
mysql 强制索引_MYSQL中常用的强制性操作(例如强制索引)
其他强制操作,优先操作如下:mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。强制索引 FORCE INDEXSELECT * FROM TABLE1 FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIELD1上的索引,而不...
mysql 强制索引循序_MYSQL中常用的强制性操作(例如强制索引)
未优化:正在显示第 0 - 19 行 (共 20 行, 查询花费 0.3603 秒。)(totalcoin)astotalcoin,touidasuidFROMcmf_users_coinrecordWHERE(type='expend'action('sendgift','sendbarrage'))(del='0')GROUPBYtouidORDERBYtotalcoindescLIMIT0,...
mysql中的强制索引的作用_MYSQL中常用的强制性操作(例如强制索引)
mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法。同样,在mysql里,也有类似的hint功能。下面介绍一些常用的。强制索引 FORCE INDEX复制代码代码如下:SELECT * FROM TABLE1FORCE INDEX (FIELD1) …以上的SQL语句只使用建立在FIELD1上的索引,而不使用其它字段...
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章