C语言中浮点数采用IEEE 754标准表示。浮点数由符号位(正负)、指数部分(移码指数)和尾数部分(补码尾数)组成。单精度浮点数尾数23位,指数8位,总32位;双精度浮点数尾数52位,指数11位,总64位。可通过类型转换函数在浮点数和整数间转换(float转int用int(float),int转float用float(int))。

C语言中的浮点数表示
C语言中,浮点数使用 IEEE 754 标准来表示,该标准定义了浮点数的布局和编码方式。
浮点数布局
浮点数由以下三个字段组成:
立即学习“C语言免费学习笔记(深入)”;
符号位(1位):表示浮点数的正负号(0为正,1为负)。指数部分(8位或11位):表示浮点数的指数,采用移码表示(0表示最小指数,255表示最大指数)。尾数部分(23位或52位):表示浮点数的尾数,采用补码表示,最前面的隐含位为1(即小数点)。
浮点数编码
根据尾数部分的长度,C语言中有两种浮点数类型:
单精度浮点数(float):尾数部分为23位,指数部分为8位,总共32位。双精度浮点数(double):尾数部分为52位,指数部分为11位,总共64位。
浮点数转换
浮点数与整数之间可以通过类型转换函数进行转换:
float 转换为整数:int(float)整数转换为 float:float(int)
示例
表示数字 -123.456789 的单精度浮点数:
符号位:1(负数)指数部分:移码为 127(即指数为 -126)尾数部分:补码为 011111000011011101100111(隐含位为 1)
将该浮点数转换为二进制表示:
1 01111110 011111000011011101100111
经过移码和补码转换后,最终以二进制形式表示的浮点数为:
1 10000010 011111000011011101100111
以上就是c语言怎么表示浮点数的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1452272.html
微信扫一扫
支付宝扫一扫