二进制(因为帖主太着急写了,大家凑合看一下吧)
年份 题号 题号 分值 2022 第13题 单项选择 2分
难易度:中等 计算机使用二进制,每一位上的数字由0和1组成。
> Q:为什么计算机选择二进制
> A: 很难在一种物质上体现十种不同的状态,即使表示出来也很容易出错。
> 电线的高、低电平(电压)表示两种状态非常方便,并且不容易出错。
> 二进制下的加减运算
二进制的加减法与十进制类似,加法时:十进制为逢十进一,二进制是逢二进一;减法时:十进制是借一当十,二进制是借一当二。
> ⚡快问快答
> Q:二进制数 00100100 和 00010100 的和是( )。
> choose:
> A.00101000
> B.01100111
> C.01000100
> D.00111000
答案:D
十进制逢十进一,二进制逢二进一,八进制逢八进一,十六进制逢十六进一(建议背诵)
十进制和二进制下的加、减法有什么不同呢?
* 进位不同 逢十进一、逢二进一
* 借位不同 借一当十、借一当二
十进制转二进制
* 整数部分短除法、小数部分短乘法
二进制转十进制
每位数字乘以它的权重累加到一起。
* 如何计算权重 :二进制位权为^(数位−1)
* 如何转换十进制 :sum+=a[i]∗wsum += a[i] ∗ wsum+=a[i]∗w
原码、反码和补码
* 机器数
与普通二进制数不同,最高位作为符号位,1表示负数,0表示正数,其余位数表示真值。
* 原码
原码就是用第一位表示符号,其余位表示值。比如如果是8位二进制:
反码
* 反码的表示方法是:
正数的反码是其本身。
负数的反码是在其原码的基础上,符号位不变,其余各个位取反。
补码
* 补码的表示方法是:
* 正数的补码就是其本身。
负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)
既然原码才是被人脑直接识别并用于计算表示方式,为何还会有反码和补码呢?
* 电脑计算减法是转换成加法进行计算,且符号位参与到运算中。 但是:
* 所以为了解决减法转换加法错误的问题,反码出现了。 但是:
* 为了解决-0的问题,出现了补码。并且把-0的编码作为数字范围内的最小值,所以数字范围增加了1个。
8位机器数能表示的数据范围: -128 ~ 127
32位机器数能表示的数据范围: -2147483648 ~ 2147483647
> 历年真题刷一下
二进制数 1011 转换成十进制数是( ).
来源自;2020CSP-J 第9道题的单项选择题
* A.11
B.10
C.13
D.12
答案;A:1*2^3 + 1 ^ 2^1 + 1 * 2^0 = 8 + 2 + 1 = 11
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
目前主流的计算机储存数据最终都是转换成( )数据进行储存。
来源自:2021CSP普及组第3道题单项选择题
A.二进制
B.十进制
C.八进制
D.十六进制
答案: A:计算机中以二进制方式存储数据
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在二进制下,1011001+()=1100110。
来源自:2011NOIP普及组第1道题单项选择题(初赛)
A.1011
B.1101
C.1010
D.1111
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
答案:B。
二进制:逢二进一。
0+1=1;
1+1=10。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
二进制数 00100100 和 00010101 的和是( )。
来源自:2014NOIP普及组第3道题单项选择题
A.00101000
B.001010100
C.01000101
D.00111001
答案:D,从右往左依次加和,注意进位,满2进1。