1.进制转换
2.原码,反码与补码
3.移位操作符:<<、>>
4.位操作符:&、|、^、~
5.应用事例
chapter 1:进制转换
计算机中常用的进制包括二进制、八进制、十进制、十六进制。数据均以二进制存储在计算机中,但用户看到的一般是十进制、八进制及十六进制,想要搞懂数据在计算机中是如何转换的就要搞懂不同进制是如何转换的。
(1)进制表示形式:
二进制:由 0、1组成
八进制:由 0~7组成,开头加0表示八进制
十进制:由 0~9 十个数字组成
十六进制:由 0~9和a~f组成,开头加0x或0X表示十六进制
(2)位、权重、求值
位:一个数字从左到右,位从一变大
权重:位对应的值,形式n*m;n的m次方。n由进制决定,m由位决定。
(3)进制转换
十进制与二进制的转换
十进制 —>二进制 除2取余,自下而上
二进制—>十进制 直接求值。
八进制与二进制的转换
八进制 <—> 二进制 三位二进制对应一位十六进制数,从右向左依次转换。
十六进制与二进制的转换
十六进制 <—> 二进制 4位二进制数转换为1位十进制数,从右向左依次转换。
chapter 2:原码,反码与补码
数据在计算器中均已二进制形式存储,存储中会涉及原、反、补码。
有符号整数包括符号位(首位0表示正,1表示负)和数值位。
无符号整数只有数值位。
非负整数的原码,反码,补码相同
负数的反码、补码与原码不同。
反码 = 原码符号位不变,其他位按位取反;
补码 = 反码+1;
原码 = 补码取反(符号位不变)+1;
数据以补码形式存储在计算机,同时以补码形式进行计算。
chapter 3: 移位操作符
左移操作符(<<):向左移动,左边舍弃,右边补0
右移操作符 (>>):
逻辑右移:向右移动,右边舍弃,左边补0
算术右移:向右移动,右边舍弃,左边补符号位(计算机中常见)
chapter 4:位操作符
(1)&: 按(二进制)位与
只要有0即为0;同时为1才为1。
0 & 1 = 0;
0 & 0 = 0;
1 & 1 = 1;
(2) | :按(二进制)位或
只要有1即为1;同时为0才为0。
0 | 1 = 1;
0 | 0 = 0;
1 | 1 = 1;
(3)^:按(二进制)位异或
相同为0;不同为1
0 ^ 1 = 1;
0 ^ 0 = 0;
1 ^ 1 = 1;
a ^ a = 0;
0 ^ a = a;
(4)~:按(二进制)位取反 (包括符号位)
chapter 5 事例
1)不引入第三个变量交换两数的值
2)求一个整数存储在内存中的二进制中1的个数