1.二进制和进制转换
其实我们经常能听到 2进制、8进制、10进制、16进制 这样的讲法,那是什么意思呢?
其实2进制、8进制、10进制、16进制是数值的不同表⽰形式⽽已。
⽐如:数值15的各种进制的表⽰形式:
15的2进制:1111
15的8进制:17
15的10进制:15
15的16进制:F
16进制的数值前写:0x 8进制的数值前写:0
下面重点讲解二进制: 二进制中满2进1,二进制的每一位数字都是由0~1数字组成,每隔一位权重相较于之前✖️2。
2.原码、反码、补码
整数的二进制表达方式有原码反码和补码。
正整数的原码反码补码都相同。 负整数:直接将数值按照正负数的形式翻译成二进制得到的就是原码;将原码符号位不变其他一次取反得到反码;反码+1得到补码。
对于整形来说:数据存放内存中其实存放的是补码。
为什么呢?
在计算机系统中,数值⼀律⽤补码来表⽰和存储。原因在于,使⽤补码,可以将符号位和数值域统⼀
处理;同时,加法和减法也可以统⼀处理(CPU只有加法器)此外,补码与原码相互转换,其运算
过程是相同的,不需要额外的硬件电路。
3.位移操作符
3.1左移操作符
移动规则:左边抛弃、右边补0
3.2右移操作符
一定规则:右边抛弃、左边填0
4.位操作符
4.1按位与& 有0取0,当同时为1时取1
4.2按位或| 有1取1,两个同时为0取0
4.3按位异或^ 相同取0相异取1
4.4按位取反~ 各个位置取反得到补码