- C++
备战CSP-J初赛21天打卡计划。第一天-二进制
- 2024-8-30 16:10:15 @
二进制
近4年初赛考察:
题号 | 题型 | 分值 | |
---|---|---|---|
2022 | 第13题 | 单项选择 | 2分 |
难易度:中等 计算机使用二进制,每一位上的数字由0和1组成。
为什么计算机选择二进制
- 很难在一种物质上体现十种不同的状态,即使表示出来也很容易出错。
- 电线的高、低电平(电压)表示两种状态非常方便,并且不容易出错。
二进制下的加减运算
二进制的加减法与十进制类似,加法时:十进制为逢十进一,二进制是逢二进一;减法时:十进制是借一当十,二进制是借一当二。
快问快答 题目数量 X 2
1、二进制数 00100100 和 00010100 的和是( )。
A.00101000
B.01100111
C.01000100
D.00111000
2、在二进制下,1011001+()=1100110*。
A. 1011
B. 1101
C. 1010
D. 1111
十进制和二进制下的加、减法有什么不同呢?
- 进位不同 逢十进一、逢二进一
- 借位不同 借一当十、借一当二
十进制转二进制
整数部分短除法、小数部分短乘法
二进制转十进制
原码、反码和补码
机器数
与普通二进制数不同,最高位作为符号位,1表示负数,0表示正数,其余位数表示真值。
原码
原码就是用第一位表示符号,其余位表示值。比如如果是8位二进制:
反码
反码的表示方法是:
- 正数的反码是其本身。
- 负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
补码
补码的表示方法是:
- 正数的补码就是其本身。
- 负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)
既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?
- 电脑计算减法是转换成加法进行计算,且符号位参与到运算中。 但是:
- 所以为了解决减法转换加法错误的问题,反码出现了。 但是:
- 为了解决-0的问题,出现了补码。并且把-0的编码作为数字范围内的最小值,所以数字范围增加了1个。 8位机器数能表示的数据范围: -128 ~ 127 32位机器数能表示的数据范围: -2147483648 ~ 2147483647
历年真题
1、二进制数 1011 转换成十进制数是( ).
A. 11
B. 10
C. 13
D. 12
2、目前主流的计算机储存数据最终都是转换成( )数据进行储存。
A.二进制
B.十进制
C.八进制
D.十六进制
3、在二进制下,1011001+()=1100110。
A. 1011
B. 1101
C. 1010
D. 1111
4、二进制数 00100100 和 00010101 的和是( )。
A. 00101000
B. 001010100
C. 01000101
D. 00111001
5、二进制数 00100100 和 00010100 的和是( )。
A.00101000
B.01100111
C.01000100
D.00111000
6、二进制数 00101100 和 00010101 的和( ).
A. 00101000
B. 01000001
C. 01000100
D. 00111000
7、在 8 位二进制补码中,10101011 表示的数是十进制下的( ).
A. 43
B. -85
C. -43
D. -84
8、二进制数 11.01 在十进制下是( ).
A. 3.25
B. 4.125
C. 6.25
D. 11.125
9、二进制数101.11对应的十进制数是( )。
A.6.5
B.5.5
C.5.75
D.5.25
10、十进制小数 13.375 对应的二进制数是( )。
A. 1101.011
B. 1011.011
C. 1101.101
D. 1010.01
11、个自然数在十进制下有n位,则它在二进制下的位数与( )最接近。
A. 5n
B. n∗log2(10)
C. 10 * log2(n)
D. 10^n * log2(n)
2 条评论
-
xinao015 LV 1 @ 2024-9-1 14:46:59
BDCACADAABACD
-
2024-8-31 16:12:20@
- 1