2.1 bit和数据类型

①bit是信息存储的基本单位,也是二进制中的一位,只能取“0”或“1”。n个bit可以表示个不同的状态。

②计算机采用二进制表示方法。

③本章主要介绍整数和浮点数两种数据类型.

2.2 整数数据类型

2.2.1 无符号整数

使用bit来表示无符号整数,例如,所谓无符号就是指整数的二进制表示中的最高位(最左边的那位)不表示整数的正负,也就是说只表示非负数。

k个bit可以表示个无符号整数,表示范围为.

2.2.2 有符号整数

对于有符号整数,一共有三种表示方法,分别是:符号位表示法、反码表示法、补码表示法。

2.2.2.1 符号位表示法

以最高位表示符号,即0表示整数,1表示负数。以n个bit为例,表示范围为:

2.2.2.2 反码表示法

将一个正数的所有bit位取反,得到该正数所对应的负数编码。正数的反码表示是它本身。

以n个bit为例,表示范围为:

2.2.2.3 补码表示法

①正数的反码表示是它本身,负数的补码表示等于它的正数补码表示取反加1。

②负数的补码等于它对应的正数减一后取反。

③负数的补码表示等于:在它对应的正数补码中,在从右往左数的第一个1的左边的所有bit取反后的二进制表示,从右往左的第一个1及其右边的bit保持不变(这种方法最常用)。

只有在补码表示中,正数和对应的负数相加,它们的结果才为0,在其他两种表示方法种都不为0

补码的表示范围为:以n个比特为例,

注意:表示-16。

2.3 二进制与十进制之间的转换

2.2.3.1 二进制数转换为十进制数

2.2.3.2 十进制数转换为二进制数

方法:除二法。每次都除以2,如果余数为1,则在二进制表示的左边添加1,否则添加0。一直重复,直到商为0。

原理:如果一个二进制数是奇数,那么它的最低为一定为1;如果为偶数,则最低位为0。

string transformation(int n)

{

string result="";

while (n)

{

if (n % 2 == 1)

result +