进制转换小题

作业 1 解答:

十六进制 0x3A 转二进制 : 十六进制每 1 位对应 4 位二进制,3→0011,A→1010,故二进制为 00111010(8 位表示)。

转八进制 : 二进制从右往左每 3 位分组(左补 0),00 111 010 → 对应八进制 7 2,

作业 2 解答:

补码 11011011 是 8 位负数(最高位为 1)。

  • 求原码 :负数补码转原码 → 补码减 1 后取反(符号位保持 1): 补码减 1:11011011 - 1 = 11011010, 取反(含符号位):00100101,但符号位需为 1,故原码为 10100101。

  • 十进制真值 :原码符号位为 1(负数),数值位 10100101 对应十进制 85,故真值为 -37。

作业 3 解答:

IEEE 754 单精度格式:1 位符号 + 8 位指数(偏移 127) + 23 位尾数。

  1. 符号位 :-125.625 为负,符号位 S=1。

  2. 二进制转换 :125.625 = 1111101.101,规范化为 1.111101101 × 2⁶,故指数 E=6。

  3. 偏移指数 :6 + 127 = 133,二进制为 10000101(8 位)。

  4. 尾数 :规范化后小数部分 111101101,补零至 23 位:11110110100000000000000。

  5. 组合 :1 10000101 11110110100000000000000(转十六进制为 0xC2FB4000)。

作业 4 解答:

8 位补码计算 -15 + 27:

  1. -15 的补码 :原码 10001111 → 取反加 1 → 11110001。

  2. 27 的补码 :正数,补码与原码相同 → 00011011。

  3. 补码相加:

    复制代码
      11110001  
     +00011011  
      ---------  
      100001100 (舍弃进位,取低8位 `00001100`)  

    结果 00001100为正数,对应十进制12。

相关推荐
晓蛋3 天前
c语言指的是什么意思
c语言·编译器·编程开发·集成开发环境·程序实例
倒头就睡的小比特3 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
傲世仙尊3 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
牵猫散步的鱼儿3 天前
重载、重写(覆盖)、重定义区别
c语言
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼3 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
phltxy3 天前
C 语言指针:从内存地址到灵活的数据访问
c语言
m0_547486663 天前
《数据结构教程》全套 PPT课件2026
数据结构
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++