c++int二进制表示_浮点数的二进制表示以及几个例子

下面是从网上搜集到的几个关于浮点数的例子,结果可能会因为操作系统和编译器的不同而不同。我的平台是Linux 64位,gcc版本是4.4.7,编译时使用默认选项 。

int x = 0.58 * 100;
printf("%d",x);        //57,not 58
printf("%d",0.1 + 0.2 == 0.3);        //0,not 1
printf("%fn",3.14f + 1e10f - 1e10f);            //0.0,not 3.14
printf("%fn",3.14f + (1e10f - 1e10f));         //3.14
float d1, d2, d3, d4;

d1 = 194268.02f;
d2 = 194268f;
d4 = 0.02f;
    
d3 = d1 - d2;
if (d3 > d4)
   printf(">0.02n");
else if (d3 < d4)
   printf("<0.02n");     //true
else
   printf("=0.02n");     //false

printf("%f - %f = %f n", d1,d2,d3);   //194268.015625 - 194268.000000 = 0.015625,not 194268.02 - 194268 = 0.02

把float换成double

double d1, d2, d3, d4;

d1 = 194268.02;
d2 = 194268;
d4 = 0.02;

d3 = d1 - d2;
if (d3 > d4)
   printf(">0.02n");
else if (d3 < d4)
   printf("<0.02n");       //true
else
   printf("=0.02n");      //false

printf("%f - %f = %f n", d1,d2,d3);    //194268.020000 - 194268.000000 = 0.020000 
gcc compare.c -o compare.o
float p3x = 80838.0f;
float p2y = -2499.0f;
double v321 = p3x * p2y;
printf("%f",v321);          //-202014160,not -202014162
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值