浮点数例子

在这里插入图片描述

9的二进制是:00000000 00000000 00000000 00001001

因为pFloat是浮点型指针,直接把n中的二进制看成了浮点型

0 00000000 00000000000000000001001

S E M

此时E是全0的,所以次方数是2 ^ -126,小数点前补0,结果是:0.00000000000000000001001*2 ^ -126

因为%f打印小数点后6位,所以结果是0.000000

9.0的二进制是:1001.0 -> 1.001*2^3 E=3 3+127 = 130

0 10000010 00100000000000000000000

此时要进行%d整型打印,直接把这个二进制序列看成是整型,最高位0是正数,原码即补码,剩下的转换为整型是1,091,567,616

float a = 3.0f;

printf(“%d\n”,a); //编译器默认将32位的float类型转换成了64位的double类型,所以%d输出低32位都是0

4位的double类型,所以%d输出低32位都是0

printf(“%lld\n”, a); //如果用%lld打印的就是64位的地址内容,就是一个非常大的数

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值