C++的浮点类型

《C++ Primer Plus》笔记

C++有3种浮点类型:float(4字节)、double(8字节)和long double(16字节)。这些类型是按它们可以表示的有效位数和允许的指数最小范围来描述的。有效位(significant figure)是数字中有意义的位

C和C++对于大小的要求是float至少32位,double至少48位,且不少于float,long double至少和double一样多。这三种类型的有效位数可以一样多。然而,通常,float为32位,double为64位,long double为80、96或128位。

浮点常量:

在程序中书写浮点常量的时候,程序将把它存储为哪种浮点类型呢?在默认情况下,像8.24和2.4E8这样的浮点常量类型都属于double类型。如果希望常量是float类型,请使用f或F后缀。对于long double类型,可使用l或L后缀。

浮点数的优缺点:

与整数相比,浮点数有两大优点。首先,它们可以表示整数之间的值。其次,由于有缩放因子,它们可以表示的范围大得多。另一方面,浮点运算的速度通常比整数运算慢,且精度将降低。

例如:
float a =2.34E+22f;
float b = a + 1.0f;

cout << "a = " << a << endl;
cout << "b - a = " << b - a endl;

结果为:
a = 2.3e+022
b - a = 0
问题在于,2.34E+22是一个小数点左边有23位的数字。加上1,就是在第23位加1。但float类型只能表示数字中的前6位或前7位,因此修改第23位对这个值不会有任何影响。

将类型分类:

C++对基本类型进行了分类,形成了若干个族。类型signed char、short、int和long统称为符号整型;它们的无符号版本统称为无符号整型;C++11新增了long long、bool、char、wchar_t、符号整数和无符号整数统称为整型;C++11新增了char16_t和char32_t。float、double和long double统称为浮点型。整数和浮点型统称算术类型。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值