进制转换小题

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

相关推荐
luj_17681 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
always_TT1 小时前
【Python 日志记录:logging 模块入门】
开发语言·python·php
画面无声1 小时前
STM32的SPI通信原理与练习记录
c语言·stm32·单片机·嵌入式硬件·学习
xcLeigh2 小时前
Go入门:变量声明的五种方式详解
java·开发语言·golang
weixin_456808382 小时前
【沁恒蓝牙开发】IAP升级流程
c语言·单片机·嵌入式硬件
zmzb01032 小时前
C++课后习题训练记录Day175
开发语言·c++
脱胎换骨-军哥3 小时前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
木木子223 小时前
# 鸿蒙 ArkTS 实战:秒表 Stopwatch(示例 5)
数据结构·华为·list·harmonyos
枕星而眠3 小时前
C++ STL Map容器完全指南:从有序红黑树到无序哈希表
java·开发语言
geats人山人海4 小时前
数据结构第六章c语言 树的存储下二叉树的概念和存储
c语言·数据结构·算法