3-3 数据类型之浮点类型

1. 介绍浮点型与科学计数法的关系,例如 float,4个字节32位分割成8,23,1,组成了浮点型

    12369 = 1.2369e4,1是隐含位,默认存在,由1位进行表示;4是指数位,可以由8位进行表示,范围是(-127~128);2369是尾数位,可由23位进行表示

2. 注意他们的精度位数,一般float 6位有效数字,7,8位可能不准,double是15-16位有效数字

#include <stdio.h>

int main() {
  float a_float = 3.14f; // 需要保持6位有效数字, 数值范围在 (+-)10^-37 ~ 10^37
  printf("size of float: %d\n", sizeof(float));    // 具体占的字节大小由编译器决定,此处占4个字节

  double a_double = 3.14; // 15~16位有效数字
  printf("size of double: %d\n", sizeof(double));   // 8个字节

  float lat = 39.90815f;
  printf("%f", 39.908156f - lat);    //  0.000008,前7位精准的

  float money = 3.14f; // error, never use float or double to describe money

  return 0;
}

提问:为什么指数位范围是(-127~128) ?尾数位23位如何理解,精度又是如何设置的?

指数位使用的是移码,具体待查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值