c++ primer 第五版课后练习题(2.1.1节练习)

c++ primer 第五版课后练习题(2.1.1节练习)

练习 2.1:
类型int、long、long long 和 short 的区别是什么?
无符号类型和带符号类型的区别是什么?
float 和 double 的 区别是什么?

答:

类型名称含义最小尺寸备注
int整型16位一个 int 至少和一个 short 一样大
long长整型32位一个 long 至少和一个 int 一样大
longlong长整型64位一个 long long 至少和一个 long 一样大
short整型16位一个int至少和一个short一样大

带符号类型和无符号类型的区别
除了布尔类型和扩展的字符型之外,其他整型可以区分为带符号的(signed)无符号的(unsigned)

类型名称备注
无符号仅能表示大于、等于0的值
带符号可以表示正数,0,负数

像类型intshortlonglong long 均是带符号的。在类型名前面加上unsigned 关键字,即可得到无符号类型,如 unsigned int 即无符号int类型,表示的范围为 0 ~ 65535(2的16次方)。
需要特别注意的是,字符型(书里描述字符型也算是整型)被分为三种:charsigned charunsigned charchar 可能是 signed char 也可能是 unsigned char,属于哪一种取决于编译器。

float 和 double的区别

类型名称含义最小尺寸备注
float单精度浮点数6位有效数字
double双精度浮点数10位有效数字

通常, float1个字来表示,double2 个字来表示。一般来说,float7个有效位,double16个有效位。
执行浮点数运算选用 double,因为 float 通常精度不够而且双精度浮点数和单精度浮点数的计算代价相差无几。甚至在某些机器上,双精度运算比单精度还快。

练习 2.2: 计算按揭贷款时,对于利率、本金和付款分别应选择何种数据类型?
使用double类型。理由如下:
执行浮点数运算选用 double,因为 float 通常精度不够而且双精度浮点数和单精度浮点数的计算代价相差无几。甚至在某些机器上,双精度运算比单精度还快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值