1、11011101的二进制补码是多少?
先求 11011101 的 一的补码 ,即将每一位取反,得到 00100010 ,然后再加 1 ,得到 00100011 。所以 11011101 的二进制补码是 00100011 。
2、进行进制转换,以填充下表中的空白处:十进制、二进制、十六进制、二十一进制,已知数值分别为23、010011、ABB、2HE。
-
十进制23转二进制:
- 用除2取余法,23÷2 = 11余1,11÷2 = 5余1,5÷2 = 2余1,2÷2 = 1余0,1÷2 = 0余1。从下往上读余数,得到二进制为 10111 。 -
二进制010011转十进制:
- 根据二进制转十进制公式,(0×2⁴ + 1×2³ + 0×2² + 0×2¹ + 1×2⁰ = 8 + 1 = 9)。
- 二进制转十六进制,从右到左每4位一组,010011可分为 0001 0011 ,0001对应十六进制的 1 ,0011对应十六进制的 3 ,所以十六进制为 13 。 -
十六进制ABB转十进制:
- 根据十六进制转十进制公式,(A)在十六进制中表示10,(B)表示11,则
(10×16² + 11×16¹ + 11×16⁰ = 10×256 + 11×16 + 11 = 2560 + 176 + 11 = 2747 ) -
二十一进制2HE转十进制:
- (H)在二十一进制中表示17,(E)表示14,则
(2×21² + 17×21¹ + 14×21⁰ = 2×441 + 17×21 + 14 = 882 + 357 + 14 = 1253 )
完整表格如下:
| Base 10 | Base 2 | Base 16 | Base 21 |
|---|---|---|---|
| 23 | 10111 | 17 | - |
| 9 | 010011 | 13 | - |
| 2747 | - | ABB | - |
| 1253 | - | - | 2HE |
3、假设字符串 “This is a nice day” 从地址 4B3269AC₁₆ 开始存储。地址 4B3269B1₁₆ 处的字节内容用十六进制表示是什么?
首先,计算地址偏移量: 4B3269B1₁₆ - 4B3269AC₁₆ = 5₁₆ = 5₁₀ 。
即地址 4B3269B1₁₆ 是字符串起始地址往后偏移 5 个字节的位置。
字符串 "This is a nice day" 中,偏移 5 个字节对应的字符是 ' ' (空格)。
在 ASCII 码中,空格字符的十进制值是 32,转换为十六进制是 20₁₆ 。
所以地址 4B3269B1₁₆ 处的字节内容用十六进制表示是 20₁₆ 。
4、数字1,234,567以32位字的形式存储,起始地址为F0439000₁₆。分别展示在(a)小端字节序系统和(b)大端字节序系统中,该32位字每个字节的地址和内容。
首先将1,234,567转换为十六进制:12D687。由于是32位字,需补齐为0012D687。
(a)小端字节序系统:数据的低位字节存于低地址,高位字节存于高地址。
- 地址
F0439000₁₆内容为87 - 地址
F0439001₁₆内容为D6 - 地址
F0439002₁₆内容为12 - 地址
F0439003₁₆内容为00
(b)大端字节序系统:数据的高位字节存于低地址,低位字节存于高地址。
- 地址
F0439000₁₆内容为00 - 地址
F0439001₁₆内容为12 - 地址
F0439002₁₆内容为D6 - 地址
F0439003₁₆内容为87
5、UTF - 8 常被称为 Unicode,为什么这是不正确的?
UTF-8 和 Unicode 不同。
ISO/IEC 10646 定义了从码点到字符的映射,
UTF-8 为 ISO/IEC 10646 标准中的码点定义了一种高效的可变长度编码,
而 Unicode 为 ISO/IEC 10646 字符集添加了特定语言属性。
所以 UTF-8 只是对 Unicode 字符集进行编码的一种方式,不能将二者等同。
6、熟练的汇编程序员可以在脑海中对二进制、十六进制和十进制的小数字进行相互转换。不参考任何表格、不使用计算器或铅笔,填写以下表格,完成二进制、十进制、十六进制之间的相互转换:
| 二进制 | 十进制 | 十六进制 |
|---|---|---|
| 5 |

最低0.47元/天 解锁文章
39

被折叠的 条评论
为什么被折叠?



