二进制

近3年初赛考察:

题号 题型 分值
2020 第9题 单项选择 2分
2021 第3题 单项选择 2分

难易度:中等

计算机使用二进制,每一位上的数字由0和1组成。

为什么计算机选择二进制

  1. 很难在一种物质上体现十种不同的状态,即使表示出来也很容易出错
  2. 电线的高、低电平(电压)表示两种状态非常方便,并且不容易出错

二进制下的加减运算

二进制的加减法与十进制类似,加法时:十进制为逢十进一,二进制是逢二进一;减法时:十进制是借一当十,二进制是借一当二。

DAY1-二进制和位运算 - 图1

⚡快问快答 题目数量 X 2

1/2单选题(1.5分)全站正确率 83%

二进制数 00100100 和 00010100 的和是( )。

A.00101000
B.01100111
C.01000100
D.00111000

DAY1-二进制和位运算 - 图2

2/2单选题(1.5分)全站正确率 84% 在二进制下,

1011001+( )=1100110

A. 1011 B. 1101 C. 1010 D. 1111

DAY1-二进制和位运算 - 图3

十进制和二进制下的加、减法有什么不同呢?

  • 进位不同 逢十进一、逢二进一

DAY1-二进制和位运算 - 图4DAY1-二进制和位运算 - 图5

  • 借位不同 借一当十、借一当二

DAY1-二进制和位运算 - 图6DAY1-二进制和位运算 - 图7

十进制转二进制

整数部分短除法、小数部分短乘法

DAY1-二进制和位运算 - 图8DAY1-二进制和位运算 - 图9

二进制转十进制

每位数字乘以它的权重累加到一起。

  • 如何计算权重 二进制位权为2(数位−1)2^{(数位-1)}2(数位−1)

  • 如何转换十进制 sum+\=a[i]∗wsum += a[i] * wsum+\=a[i]∗w

DAY1-二进制和位运算 - 图10

DAY1-二进制和位运算 - 图11

原码、反码和补码

机器数

与普通二进制数不同,最高位作为符号位,1表示负数,0表示正数,其余位数表示真值。

原码

原码就是用第一位表示符号,其余位表示值。比如如果是8位二进制:

DAY1-二进制和位运算 - 图12

反码

反码的表示方法是:

  • 正数的反码是其本身。
  • 负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

DAY1-二进制和位运算 - 图13

补码

补码的表示方法是:

  • 正数的补码就是其本身。
  • 负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)

DAY1-二进制和位运算 - 图14

既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?

  1. 电脑计算减法是转换成加法进行计算,且符号位参与到运算中。 但是:

DAY1-二进制和位运算 - 图15

  1. 所以为了解决减法转换加法错误的问题,反码出现了。 但是:

DAY1-二进制和位运算 - 图16

  1. 为了解决-0的问题,出现了补码。并且把-0的编码作为数字范围内的最小值,所以数字范围增加了1个。

    8位机器数能表示的数据范围: -128 ~ 127

    32位机器数能表示的数据范围: -2147483648 ~ 2147483647

历年真题

1/11单选题(2分)全站正确率 84%

二进制数 1011 转换成十进制数是( ).

A. 11
B. 10
C. 13
D. 12

DAY1-二进制和位运算 - 图17

第九题.mp4

2/11单选题(2分)全站正确率 97% 目前主流的计算机储存数据最终都是转换成( )数据进行储存。

A.二进制 B.十进制 C.八进制 D.十六进制

DAY1-二进制和位运算 - 图18

3/11单选题(1.5分)全站正确率 84% 在二进制下, 1011001 + ( ) = 1100110 1011001+()=1100110。

A. 1011 B. 1101 C. 1010 D. 1111