进制转换小题

作业 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。

相关推荐
不正经学生8 小时前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技8 小时前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
毕竟是shy哥10 小时前
计算YOLO数据集中每个类的目标数
算法·yolo·机器学习
M78佐菲10 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
恋恋西风10 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx10 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_11 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_11 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
晊晌_h12 小时前
嵌入式从0到精通——数据结构总结[特殊字符]
数据结构·算法·排序算法
xiaobobo333012 小时前
c语言中for循环条件中定义临时栈变量的作用域
c语言·for循环条件定义栈变量·大括号作用域·独立栈变量