C语言编程float型数据转怎么化为2进制数输出?
1个回答
2022-12-11 · 百度认证:北京惠企网络技术有限公司官方账号
关注
展开全部
先将这个实数的绝对值化为二进制格式
将这个二进制格式实数的小数点左移或右移n位,直到小数点移动到第一个有效数字的右边
从小数点右边第一位开始数出二十三位数字放入第22到第0位
如果实数是正的,则在第31位放入“0”,否则放入“1”
如果n 是左移得到的,说明指数是正的,第30位放入“1”;如果n是右移得到的或n=0,则第30位放入“0”
如果n是左移得到的,则将n减去1后化为二进制,并在左边加“0”补足七位,放入第29到第23位。如果n是右移得到的或n=0,则将n化为二进制后在左边加“0”补足七位,再各位求反,再放入第29到第23位
float和double在存储方式上都是遵从IEEE的规范的,float遵从的是IEEE R32.24
无论是单精度还是双精度在存储中都分为三个部分:
符号位(Sign) : 0代表正,1代表为负
指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储
尾数部分(Mantissa):尾数部分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询