备战CSP-J 第一期 二进制

二进制

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

为什么计算机选择二进制

很难在一种物质上体现十种不同的状态,即使表示出来也很容易出错

电线的高、低电平(电压)表示两种状态非常方便,并且不容易出错

二进制下的加减运算

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

⚡快问快答 题目数量 X 2

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

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

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

题目解析

答案:D
十进制逢十进一,二进制逢二进一,八进制逢八进一,十六进制逢十六进一

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

在二进制下,1011001+()=11001101011001+( )=1100110

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

题目解析

答案:B。
二进制:逢二进一。0+1=10+1=11+1=101+1=10

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

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

十进制转二进制

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

二进制转十进制

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

如何计算权重 二进制位权为2(数位−1)2(数位−1)

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

原码、反码和补码

机器数

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

原码

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

反码

反码的表示方法是:

正数的反码是其本身。

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

补码

补码的表示方法是:

正数的补码就是其本身。

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

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

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

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

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

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

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

历年真题

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

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

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

题目解析

答案:A,1×23+1×21+1×20=8+2+1=111×23+1×21+1×20=8+2+1=11

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

目前主流的计算机储存数据最终都是转换成( )数据进行储存。

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

题目解析

正确答案: A,计算机中以二进制方式存储数据

3/11单选题(1.5分)全站正确率 82%

在二进制下,1011001+()=11001101011001+()=1100110

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

答案:B。
二进制:逢二进一。0+1=10+1=11+1=101+1=10

4/11单选题(1.5分)全站正确率 86%

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

A. 00101000
B. 001010100
C. 01000101
D. 00111001

题目解析

答案:D,从右往左依次加和,注意进位,满2进1。

5/11单选题(1.5分)全站正确率 82%

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

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

6/11单选题(1.5分)全站正确率 82%

二进制数 00101100 和 00010101 的和( ).

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

题目解析

答案:B。

7/11单选题(1.5分)全站正确率 66%

在 8 位二进制补码中,10101011 表示的数是十进制下的( ).

A. 43
B. -85
C. -43
D. -84

目解析

答案:B。因为10101011符号位为1,所以是负数,负数的补码等于逐位取反后+1。还原过程:首先10101011 – 1 = 1010101010101011–1=10101010,再逐位取反得11010101,二进制转十进制-(1 \times 2^6 + 1 \times 2^4 + 1 \times 2^2 + 1 \times 2^0 ) = -85−(1×26+1×24+1×22+1×20)=−85

8/11单选题(1.5分)全站正确率 86%

二进制数 11.01 在十进制下是( ).

A. 3.25
B. 4.125
C. 6.25
D. 11.125

题目解析

答案:A, (11.01)_2 = 1 × 2^1 + 1 × 2^0 + 1 × 2^{-2} = 2 + 1 + 0.25 = 3.25(11.01)2=1×21+1×20+1×2−2=2+1+0.25=3.25

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值