进制转换小题

作业 1 解答:

十六进制 0x3A 转二进制 : 十六进制每 1 位对应 4 位二进制,30011A1010,故二进制为 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 小时前
ECONNREFUSED ::1:8000 前端代理问题
开发语言
cike_y3 小时前
Mybatis之解析配置优化
java·开发语言·tomcat·mybatis·安全开发
Jay_Franklin4 小时前
SRIM通过python计算dap
开发语言·python
Slow菜鸟4 小时前
Java基础架构设计(三)| 通用响应与异常处理(分布式应用通用方案)
java·开发语言
消失的旧时光-19434 小时前
401 自动刷新 Token 的完整架构设计(Dio 实战版)
开发语言·前端·javascript
wadesir4 小时前
Rust中的条件变量详解(使用Condvar的wait方法实现线程同步)
开发语言·算法·rust
tap.AI4 小时前
RAG系列(二)数据准备与向量索引
开发语言·人工智能
阿蒙Amon5 小时前
C#每日面试题-重写和重载的区别
开发语言·c#
是一个Bug5 小时前
Java基础20道经典面试题(二)
java·开发语言
yugi9878385 小时前
基于MATLAB实现协同过滤电影推荐系统
算法·matlab