在 进制中,"位权"指的是( )。
考点:位权的含义(A1)。
(A1)考点:位权是第 位上的 所代表的值—— 进制中第 位的位权是 (个位是 )。
解析:例如十进制 中, 的位权是 、 的位权是 、 的位权是 。按权展开就是每位数字乘以位权再相加。
排除法:选"数码的个数"的人那是基数(可用的符号个数);选"基数 R 的大小"的人混淆了基数与位权;选"数字的排列顺序"的人概念错位。
十进制数 的二进制、八进制、十六进制表示依次是( )。
考点:常用进制对照(A2)。
(A2)考点:——同一个数在不同进制下的形态。
解析:;八进制 ;十六进制 。
排除法:选八进制写 16 的人换算出错(13 的八进制是 15);选十六进制写 E 的人把 13 记成了 15;选二进制 1011 的人把 1011 与 1101 记混(那是 11)。
十六进制数 等于十进制数( )。
考点:十六进制字母(A3)。
(A3)考点:十六进制用 A~F 表示 ——。
解析:F 对应 15,所以 。
排除法:选 的人把 F 当成了 19;选 的人只算了高位的 1×16;选 的人把按权展开做成了连乘。
阅读下面的程序:
01int x = 0x10; 02cout << x;
程序的输出是( )。
考点:C++ 中的进制前缀(A4)。
(A4)考点:C++ 里 0x 前缀表示十六进制——0x10 是 ,不是十进制 10。
解析:int x = 0x10; 把十六进制 10 赋给 x,即 。
排除法:选 的人把 0x10 误当成了二进制;选 的人把前缀 0x 当成了零;选 的人按十进制原样读。
计算机内部采用二进制表示信息,主要原因是( )。
考点:计算机采用二进制的原因(A5)。
(A5)考点:计算机用二进制是因为物理上两种稳定状态(高/低电平)最容易区分和实现,可靠性高。
解析:电压高低、磁极方向等物理器件表示两种状态最稳定;状态越多越难区分,干扰下容易出错。
排除法:选"书写方便"的人恰好相反(二进制最长);选"快十倍"的人速度与进制无关;选"表示的数多"的人同样位数下二进制范围更小.
二进制数 按权展开等于十进制数( )。
考点:按权展开(B1)。
(B1)考点:按权展开——。
解析:从右到左位权依次是 ,各位相加:。
排除法:选 的人漏加了第 3 位的 1;选 的人没有做任何转换;选 的人把 1011 与 1101 记混(1101 才是 13)。
用"除 2 取余法"把十进制数 转换为二进制,结果是( )。
考点:除 R 取余(B2)。
(B2)考点:除 2 取余——,余数从下往上读。
解析:,,,,;从下往上读余数得 。
排除法:选 的人余数读取顺序错了一部分;选 的人多数了一轮;选 的人把 25 翻倍后多写了一位。
十进制小数 转换为二进制小数,结果是( )。
考点:乘 R 取整(B3)。
(B3)考点:乘 2 取整——,整数部分从上往下读。
解析: 取 1; 取 0; 取 1;到 0 停止。
排除法:选 的人在整除后多写了一位;选 的人少乘了一轮;选 的人读取方向反了.
关于二进制小数,下列说法正确的是( )。
考点:0.1 不可精确表示(B4)。
(B4)考点:二进制小数只能精确表示 的组合(如 ); 不是这样的组合。
解析:、 精确; 用乘 2 取整会无限循环下去,只能近似。
排除法:选"0.1 能"的人正好说反(0.1 是无限循环);选"任何都能"的人只有 2 的负幂组合才能精确;选"0.5 不能"的人 0.5=2^-1 恰好精确.
把二进制数 从低位起每三位一组转换为八进制,结果是( )。
考点:二转八分组法(B5)。
(B5)考点:二转八每三位一组()——。
解析:从低位起三位一组:,、,得 。
排除法:选 的人分组顺序错乱;选 的人没有做任何转换;选 的人把每组高低位读反.
把二进制数 每四位一组转换为十六进制,结果是( )。
考点:二转十六分组法(B6)。
(B6)考点:二转十六每四位一组()——。
解析:,、,得 B3。
排除法:选 的人逐位当一位数转换;选 3B 的人两组顺序写反;选 的人没有做任何转换.
把二进制整数 转换为十六进制时,分组不足四位需要补 ,补的方向是( )。
考点:分组补 0 方向(B7)。
(B7)考点:整数分组不足时在最高位左边补 0(不改变数值)。
解析: 转十六进制:补一个 0 成 ,得 1B。若在右边补就变成 ,数值完全变了。
排除法:选"不需要补"的人不足四位必须补齐才能分组;选"两边对称补"的人两边补会改变数值;选"最低位右边补"的人右边补相当于乘 2,数值全变.
十六进制数 等于十进制数( )。
考点:十六进制按权展开(B8)。
(B8)考点:。
解析:A=10、F=15,位权从右到左是 、、:。
排除法:选 的人只算了最高位;选 的人把 A 当 9 算错;选 的人做成了连乘而非按权展开。
用 8421 法速查:二进制 对应的十进制数是( )。
考点:8421 速查法(B9)。
(B9)考点:四位二进制从左到右的位权是 8、4、2、1——。
解析:第 1 位(值 1)对应 8,第 3 位(值 1)对应 2,相加得 10。
排除法:选 的人把第 2 位的 0 当成了 1;选 的人没有做转换;选 的人漏了第 3 位的 2.
等于( )。
考点:2 的幂速查(B10)。
(B10)考点:——、、 是要背熟的阶梯。
解析:每乘一次 2 翻倍:。
排除法:选 的人那是 2 的 10 次方;选 的人那是 2 的 11 次方;选 的人是无据数字.
三个数 、、 中,最大的是( )。
考点:混合进制比较(B11)。
(B11)考点:比较不同进制的数要先统一换成十进制——、、,最大的是 。
解析:同样写"11",基数越大数值越大:。
排除法:选 8 进制 11 的人那是 9;选"三个一样大"的人忽略了基数的差别;选二进制 11 的人那是 3.
等于( )。
考点:常见值速记(B12)。
(B12)考点:——16 位数的上限加一,要形成条件反射。
解析:,。
排除法:选 的人是"一百万"的粗略印象;选 的人那是 2 的 15 次方;选 的人算出来恰是 (同一混淆的变形)。
下列各数中,等于十进制 的是( )。
考点:进制下标陷阱(B13)。
(B13)考点:同样的数字串在不同进制下值不同——、、。
解析:,所以等于 4 的是 。
排除法:选 8 进制 100 的人那是 64;选 16 进制 100 的人那是 256;选二进制 11 的人那是 3.
二进制数 对应的十进制数是( )。
考点:含小数的按权展开(B14)。
(B14)考点:小数点后也有位权——第 1 位是 、第 2 位是 :。
解析:整数部分 ;小数部分 ;合计 。真题 2021 年、2022 年都考过这个"带小数的按权展开"。
排除法:选 的人把整数部分 101 算成了 110;选 的人没有做任何转换;选 的人把小数部分照抄.
二进制加法 的结果是( )。
考点:二进制加法(C1)。
(C1)考点:二进制加法逢二进一——。
解析:十进制验算最稳: ✓。
排除法:选 的人完全没有进位;选 的人进位加错位置;选 的人漏了最高进位.
二进制减法 的结果是( )。
考点:二进制减法(C2)。
(C2)考点:二进制减法借一当二——。
解析:十进制验算: ✓。
排除法:选 的人借位错一种;选 的人借位错另一种;选 的人借位错第三种(三者都是借位处理失误的典型结果).
八进制加法 的结果是( )。
考点:八进制加法(C3)。
(C3)考点:八进制逢八进一——(不能写 8)。
解析:,满 8 进一:个位写 0、进位 1,等于十进制 8。
排除法:选 8 进制写 8 的人八进制数码只有 0~7,写 8 非法;选 的人同样非法;选 16 进制 10 的人进制搞错.
等于十进制数( )。
考点:混合进制算式(C4)。
(C4)考点:混合进制算式先各自转十进制再计算——,。
解析:;题目问十进制结果:。
排除法:选 的人把两个 11 当成 11×11;选 的人把二进制 11 算成了 2;选 的人把两个 11 直接相加(忽略进制).
二进制加法 的结果,用十进制验算应等于( )。
考点:竖式验算(C5)。
(C5)考点:二进制竖式算完用十进制验算—— 对应 。
解析:、,,与二进制结果 相符。
排除法:选 的人只算了一半;选 的人把 11 当成了 2;选 的人把 101 算成了 4.
在带符号数的表示中,符号位的含义是( )。
考点:符号位(D1)。
(D1)考点:带符号数的最高位是符号位—— 表示正数、 表示负数。
解析:例如 4 位表示中 0101 最高位 0,是 ;1101 最高位 1,表示负数。
排除法:选"小数点位置"的人定点数的小数点是隐含约定;选"最低位"的人符号位在最高位;选"数字的奇偶性"( 偶 奇)的人符号位与奇偶无关。
的 4 位原码是( )。
考点:原码定义(D2)。
(D2)考点:原码 = 符号位 + 绝对值的二进制—— 的 4 位原码是 0101。
解析:符号位 0(正数)+ 补齐三位 → 0101。
排除法:选 的人那是 -3 的原码(也是 -5 的补码);选 的人那是 -5 的原码;选 的人那是 +3.
的 4 位反码是( )。
考点:反码定义(D3)。
(D3)考点:负数的反码 = 原码符号位不变、其余位取反—— 的 4 位反码是 1010。
解析: 原码 1101,符号位 1 不变,后三位 101 取反得 010,拼成 1010。
排除法:选 的人把符号位也一起取反了;选 的人忘了改符号位(那是 +5);选 的人多加了 1(那是补码).
的 4 位补码是( )。
考点:补码定义(D4)。
(D4)考点:负数的补码 = 反码 + 1—— 的 4 位补码是 1011。
解析: 原码 1101 → 反码 1010 → 补码 1010 + 1 = 1011。
排除法:选 的人差最后一步加 1(那是反码);选 的人那是 +5;选 的人只做了第一步(那是原码).
关于 的 4 位原码、反码、补码,下列说法正确的是( )。
考点:正数三码相同(D5)。
(D5)考点:正数的原码、反码、补码完全相同—— 的三码都是 0011。
解析:取反、加 1 的规则只针对负数;正数符号位为 0,数值位不变。
排除法:选"原码和反码相同补码不同"的人正数三码全同;选"只有补码是 "的人误把负数规则用到正数;选"互不相同"的人同样误用.
4 位补码 1110 表示的真值是( )。
考点:补码转真值(D6)。
(D6)考点:补码转真值——符号位为 1 时,再取反加 1 得绝对值:1110 表示 。
解析:1110 取反得 0001,加 1 得 0010 = 2,真值 。快捷法:。
排除法:选 的人按无符号数读(忽略了符号位);选 -6 的人把 1110 当成了反码算;选 -7 的人先减 1 再取反的顺序错.
的 8 位补码是( )。
考点:真值转补码(D7)。
(D7)考点: 的 8 位补码 = 11110111。
解析:原码 10001001 → 反码 11110110 → +1 得 11110111。验算:无符号值 247, ✓。
排除法:选 的人忘了 +1(那是反码);选 的人那是原码;选 的人那是 +9.
计算机内部用补码表示带符号整数,主要原因是( )。
考点:采用补码的原因(D8)。
(D8)考点:补码的两大好处——减法转化为加法(硬件只需加法器)且 0 的表示唯一。
解析:例如 等价于 的补码,直接相加丢弃最高进位即得结果。
排除法:选"书写最短"的人编码长度与原码相同;选"两倍"的人码位数一样多并没有两倍;选"不需进位"的人补码运算照样有进位(只是最高位丢弃).
8 位补码能表示的整数范围是( )。
考点:8 位补码范围(D9)。
(D9)考点:8 位补码范围是 ——负数比正数多一个。
解析:8 位共 256 个码位: 表示非负数, 表示 。
排除法:选 的人那是无符号表示;选 -127~127 的人那是原码范围(0 占了正数位);选 -128~128 的人两端不能同时取到(257 个数超出 256 个码位).
关于 8 位原码和反码表示 ,下列说法正确的是( )。
考点:原码反码的 0 与范围(D10)。
(D10)考点:原码和反码中 0 都有两种表示,这是它们的缺陷之一。
解析:原码里 00000000 = +0、10000000 = -0;反码里 -0 是 11111111。补码里 0 唯一。
排除法:选" 的表示都是唯一"的人补码里 唯一,但原码反码各有两种;选"只原码两种"的人反码里 是全 也是一种;选"只反码两种"的人原码里 是 。
整数运算中的"溢出"指的是( )。
考点:溢出的定义(E1)。
(E1)考点:溢出 = 运算结果超出了该类型能表示的范围。
解析:溢出是"结果装不下",它不会报错,而是静默地得到一个错误值(回绕)。
排除法:选"多余字符"的人与输出无关;选"报错退出"的人溢出不报错(这正是危险之处);选"除数为 "的人那是运行错误,与溢出是两回事。
8 位补码运算中,两个正数相加得到的结果是负数,这说明( )。
考点:溢出的判断(E2)。
(E2)考点:两个正数相加得到负数说明发生了溢出,结果不可信。
解析:正数 + 正数本应更大,结果却"变负",只有越过范围上界回绕才会这样。
排除法:选"取反即可"的人溢出已发生取反救不回;选"16 位重算"的人不是本题考的处理方式;选"结果正确"的人恰好说反.
8 位补码运算 的实际结果是( )(结果对 回绕)。
考点:溢出实例(E3)。
(E3)考点:8 位补码 :数学值 溢出,结果对 回绕得 。
解析:,即 01100100 + 00110010 = 10010110(符号位变 1)。
排除法:选 的人无依据;选 的人忘了带负号;选 的人那是数学值,不是 8 位补码回绕后的结果.
32 位 int 类型能表示的整数范围大约是( )。
考点:C++ 整型范围(E4)。
(E4)考点:32 位 int 约 ;更大的数用 long long。
解析:。int 约 21 亿,long long 约 。
排除法:选 ±32767 的人那是 16 位 short;选 的人那是无符号且量级不符;选 ±9.2×10^18 的人那是 long long.
关于位、字节与字长,下列说法正确的是( )。
考点:位、字节与字长(E5)。
(E5)考点:1 字节 = 8 位;字长是 CPU 一次处理的位数,64 位 CPU 的一个字 = 8 字节。
解析:位(bit)是最小单位,字节(Byte)是 8 位;字(word)取决于 CPU 架构。
排除法:选"1 字节 4 位"的人老式表示;选"字节个数"的人 64 位字长是 64 位不是 64 字节;选"1 字节 16 位"的人差了一倍.
等于多少字节( )。
考点:KB/MB/GB 换算(E6)。
(E6)考点:相邻单位进率 —— 字节。
解析:,,。
排除法:选 的人用了 1000 进制;选 的人那是 1MB(差了一半);选 的人差了两级(那是 4KB).
标称容量为 的内存条,在计算机中显示的容量是( )。
考点:1024 与 1000 的区别(E7)。
(E7)考点:内存按 进制换算—— 内存 = 。
解析:内存容量以 2 的幂为基准:。区别:硬盘厂商常用 1000 进制标注。
排除法:选 的人用了 进制;选"约 (按 进制折算)"的人对象搞错了,内存按 换算不变;选 字节的人同样用了 进制。
一张分辨率为 像素的 位真彩色图像,存储它需要的空间是( )。
考点:图像存储容量计算(E8)。
(E8)考点:图像存储容量 = 分辨率 × 位深—— 位 字节 。
解析:每个像素 32 位 = 4 字节: 字节 。这正是真题 2020 年"2048×1024 真彩色图像"的考法(那题答案是 8MB)。
排除法:选 0.5MB 的人忘了位深(按每像素 1 字节);选 4MB 的人把 512 记成了 1024;选 16MB 的人把 32 位当 32 字节(忘除 8).
等于多少二进制位(bit)?
考点:位数换算(E9)。
(E9)考点:字节到位要再乘 8—— bit。真题 2024 年考过此问法。
解析: 字节,每字节 8 位: 位。
排除法:选 的人只换算了一级(那是 1KB 的位数);选 的人用了 1000 进制;选 的人忘了乘每字节的 8 位。
下列存储容量中,最小的是( )。
考点:容量大小比较(E10)。
(E10)考点:统一换算成字节再比较——。真题 2023 年考过此问法。
解析: 约 1KB,是最小的;注意 (1000 进制标注的"1000KB"其实不到 1MB)。
排除法:选 的人没注意 更小;选 的人那是最大的;选 的人被"1000"迷惑(换算后仍大于 )。
ASCII 码用 位二进制编码,能表示的字符数是( )。
考点:ASCII 的位数与字符数(F1)。
(F1)考点:ASCII 用 7 位编码,能表示 个字符(存储占 1 字节,最高位为 0)。
解析:7 位二进制共 128 种组合,覆盖字母、数字、标点和控制字符。
排除法:选 的人那是 2 的 9 次方;选 的人那是 2 的 6 次方;选 的人那是 2 的 8 次方(1 字节全组合).
已知 'A' 的 ASCII 码是 ,则 'a' 的 ASCII 码是( )。
考点:ASCII 关键码值与大小写差(F2)。
(F2)考点:大小写字母 ASCII 码差 ——'A'=65,则 'a' = 。
解析:小写比对应大写大 32(这也是 c | 0x20 转小写的原理)。
排除法:选 的人那是字母 b;选 的人那是字母 z;选 的人那是左方括号.
字符 '0' 与空字符 '\0' 的 ASCII 码分别是( )。
考点:字符 0 与空字符(F3)。
(F3)考点:'0' 是字符零,ASCII 码 48;'\0' 是空字符,ASCII 码 0。
解析:'0' 是数字 0 的字形(可打印),值为 48;'\0' 是字符串结束标志,值为 0。
排除法:选"都是 "的人两者值完全不同;选" 和 "的人无据;选" 和 "的人把两个值对调了。
用 GB2312 编码存储 个汉字,需要的字节数是( )。
考点:GB2312 汉字字节数(F4)。
(F4)考点:GB2312 中一个汉字占 2 字节——100 个汉字需要 200 字节。
解析:GB2312 用两个字节编码一个汉字,。
排除法:选 的人按 1 字节算(那是 ASCII);选 的人按 3 字节算(那是 UTF-8);选 的人无据.
关于 GBK 与 GB2312 的关系,下列说法正确的是( )。
考点:GBK 与 GB2312 的关系(F5)。
(F5)考点:GBK 向下兼容 GB2312,收录汉字更多(两万多个),一个汉字仍是 2 字节。
解析:兼容链:GB18030 ⊃ GBK ⊃ GB2312,扩大收录范围但没有改变"汉字 2 字节"的方式。
排除法:选"英文版"的人无此说法;选"3 字节"的人那是 UTF-8 汉字;选"互不兼容"的人 GBK 兼容 GB2312.
汉字机内码的两个字节的最高位都设为 ,这样做的目的是( )。
考点:汉字机内码最高位(F6)。
(F6)考点:汉字机内码两个字节的最高位都为 1,与最高位为 0 的 ASCII 字符区分,便于中英文混排识别。
解析:最高位 0 的字节是 ASCII 字符;最高位 1 的字节成对出现是汉字——混排文本不需要额外标记就能正确切分。
排除法:选"编码更大"的人大小不是目的;选"转二进制"的人本来就是二进制;选"只是习惯"的人这是有意设计(最高位 1 区分 ASCII).
关于 UTF-8 编码,下列说法正确的是( )。
考点:UTF-8 变长编码(F7)。
(F7)考点:UTF-8 是变长编码(1~4 字节)——英文字母占 1 字节(与 ASCII 兼容),常用汉字占 3 字节。
解析:UTF-8 是 Unicode 的实现方式之一,按字符常用程度分配 1~4 字节。
排除法:选"固定 4 字节"的人定长说法错;选"固定 2 字节"的人定长说法错;选"汉字 2 字节英文 1 字节"的人恰好把 GB 系与 UTF-8 记混.
十进制转 R 进制时,"除 R 取余"和"乘 R 取整"(小数部分)的结果读取方向分别是( )。
考点:取余取整的读取方向(H1)。
(H1)考点:除 R 取余的余数从下往上读;乘 R 取整的整数部分从上往下读——两个方向相反。
解析:"除 2 取余,从下往上读"得整数部分;"乘 2 取整,从上往下读"得小数部分。
排除法:选"都从上往下"的人小数方向反了;选"都从下往上"的人整数方向反了;选"反向"的人两个都反了.
用 UTF-8 编码存储字符串"信奥 CSP"(两个汉字、三个字母、一个空格),需要的字节数是( )。
考点:混合编码存储计算(H2)。
(H2)考点:UTF-8 下汉字 3 字节、字母和空格各 1 字节——"信奥 CSP" = 字节。
解析:两个汉字 字节 + 三个字母 字节 + 一个空格 字节 = 。空格也是字符,别漏算。
排除法:选 的人把 6 个字符全按 2 字节算(用了 GBK);选 的人恰好漏了空格那 1 字节;选 的人只算了汉字.
8 位无符号整数 加 的结果是( )。
考点:无符号数回绕(H3)。
(H3)考点:无符号数溢出回绕——8 位无符号最大 255, 回到 0(不报错)。
解析:,加 1 后所有位变 0(最高进位丢弃)。与补码回绕(对 取模)是同一机制。
排除法:选 -1 的人把无符号当有符号补码(无符号没有负数);选"溢出报错"的人回绕不报错;选 的人超出 8 位表示范围.
现有一张分辨率为 像素的 位真彩色图像。请问要存储这张图像,需要多大的存储空间?( )
二进制数 转换成十进制数是( )。
目前主流的计算机储存数据最终都是转换成( )数据进行储存。
二进制数 对应的十进制数是( )。
八进制数 对应的十进制数是( )。
八进制数 和 的和为( )。
数 和 的和为( )。
在计算机中,以下哪个选项描述的数据存储容量最小?( )
32 位 int 类型的存储范围是?( )
计算 的结果,并选择答案的十进制值:( )
记 KB 为 字节(byte)、 MB 为 KB,那么 MB 是多少二进制位(bit)?( )
一个 位无符号整数可以表示的最大值,最接近下列哪个选项?( )
十进制数 和八进制数 的和用十六进制表示是多少?( )
1 #include <iostream> 2 3 using namespace std; 4 5 int n, k; 6 7 int solve1() 8 { 9 int l = 0, r = n; 10 while (l <= r) { 11 int mid = (l + r) / 2; 12 if (mid * mid <= n) l = mid + 1; 13 else r = mid - 1; 14 } 15 return l - 1; 16 } 17 18 double solve2(double x) 19 { 20 if (x == 0) return x; 21 for (int i = 0; i < k; i++) 22 x = (x + n / x) / 2; 23 return x; 24 } 25 26 int main() 27 { 28 cin >> n >> k; 29 double ans = solve2(solve1()); 30 cout << ans << ' ' << (ans * ans == n) << endl; 31 return 0; 32 }
假设 int 为 位有符号整数类型,输入的 n 是不超过 的自然数、k 是不超过 int 表示范围的自然数,
该算法最准确的时间复杂度分析结果为 。( )
当输入为 9801 1 时,输出的第一个数为 99。( )
对于任意输入的 n,随着所输入 k 的增大,输出的第二个数会变成 1。( )
该程序有存在缺陷。当输入的 n 过大时,第 行的乘法有可能溢出,因此应当将 mid 强制转换为 位整数再计算。( )
当输入为 2 1 时,输出的第一个数最接近( )。
当输入为 3 10 时,输出的第一个数最接近( )。
当输入为 256 11 时,输出的第一个数( )。