二进制
近 3 年初赛考察:
题号 | 题型 | 分值 |
---|---|---|
2020 | 第 9 题 | 单项选择 2 分 |
2021 | 第 3 题 |
难易度:中等
计算机使用~ 二进制 ~,每一位上的数字由 0 和 1 组成。
为什么计算机选择二进制
- 很难在一种物质上体现十种不同的状态,即使表示出来也很容易出错。
- 电线的高、低电平(电压)表示两种状态非常方便,并且不容易出错。
二进制下的加减运算
二进制的加减法与十进制类似,加法时:十进制为逢十进一,二进制是逢二进一;减法时:十进制是借一当十,二进制是借一当二。
⚡ 快问快答
1/2 单选题(2 分)全站正确率 85%
二进制数 00100100 和 00010100 的和是( )。
A.00101000
B.01100111
C.01000100
D.00111000
正确答案:D
2/2单选题(2 分)
在二进制下,1011001+()=1100110。
A. 1011
B. 1101
C. 1010
D. 1111
正确答案:D
十进制和二进制下的加、减法有什么不同呢?
- 进位不同 逢十进一、逢二进一
- 借位不同 借一当十、借一当二
十进制转二进制
整数部分短除法、小数部分短乘法
-
整数
-
小数
二进制转十进制
每位数字乘以它的权重累加到一起。
- 如何计算权重 二进制位权为 2(数位-1)
- 如何转换十进制 sum+=a[i]∗w
原码、反码和补码
机器数
与普通二进制数不同,最高位作为符号位,1 表示负数,0 表示正数,其余位数表示真值。
原码
原码就是用第一位表示符号,其余位表示值。比如如果是 8 位二进制:
反码
反码的表示方法是:
- 正数的反码是其本身。
- 负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
补码
补码的表示方法是:
- 正数的补码就是其本身。
- 负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)
拓展
既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?
- 电脑计算减法是转换成加法进行计算,且符号位参与到运算中。 但是:
- 所以为了解决减法转换加法错误的问题,反码出现了。 但是:
- 为了解决-0 的问题,出现了补码。并且把-0 的编码作为数字范围内的最小值,所以数字范围增加了 1 个。
8位机器数 能表示的数据范围: -128 ~ 127
32 位机器数 能表示的数据范围: -2147483648 ~ 2147483647