【计算机组成原理】2、二进制和十六进制转换,进制相减、内存地址偏移计算与容量计算

news2024/12/24 2:21:06

文章目录

  • 一、进制转换
    • 1.1 二进制转十六进制
    • 1.2 十六进制转二进制
  • 二、进制相减
    • 2.1 十六进制
  • 三、内存地址偏移计算
    • 3.1 根据首末地址,求存储容量
    • 3.2 根据末地址 和 存储容量,求首地址

一、进制转换

1.1 二进制转十六进制

2 4 = 16 2^4=16 24=16,所以每4个二进制位,可表示为1个十六进制。例如如下:

  • 00001111(B) = F(H)、0xF、0x0F
  • 11111111(B) = FF(H)、0xFF
  • 111100001111(B) = F0F(H)、0xF0F
  • 1111111100001111(B) = FF0F(H)、0xFF0F

1.2 十六进制转二进制

每1个十六进制 转换为 4个二进制位即可。例如如下:

  • 0xF0F = 111100001111(B) = 0000111100001111(B)
  • 0xFF0F = 1111111100001111(B)

二、进制相减

2.1 十六进制

例如:0xA000 - 0x0800

  • 先从末尾开始减:最后两位的0x0000-0x0000 = 0x0000
  • 再倒数第三位相减 0x0000 - 0x0800,因为不够减,所以借位得到16(因为是十六进制相减),即 16 - 8 = 8
  • 在倒数第四位相减 0xA000 - 0x0000,因为已经被借走了一位,则变为 0x9000 - 0x0000 = 0x9000
    故最终答案为 0x9800

PS:类比二进制相减即容易理解了

三、内存地址偏移计算

在这里插入图片描述

例如:若一栋楼共100层,最底为第0层,则最顶为第99层。因为从0到(n-1)共有n个数,如下图:

在这里插入图片描述

3.1 根据首末地址,求存储容量

题目 如下:
在这里插入图片描述
如下图所示,首地址是 30000H,末地址是 AFFFFH。

因为题目说明内存以字节编制,则说明即每个地址是一个字节(即楼房的每层放了1个byte,即8个bit)。

题意问存储容量,即问能存储多少 bit。


题解如下:

  • 先求楼层数:

    • AFFFF(H) - 30000(H) + 1 = 7FFFF(H) + 1 = 80000(H)
    • 而 80000(H) = 1000-0000-0000-0000-0000(B) = 2^19,即 2 ^ 19 Bytes
      在这里插入图片描述
    • 2 1 0 = 1 K 2 ^ 10 = 1K 210=1K 2 2 0 = 1 M 2 ^ 20 = 1M 220=1M 2 3 0 = 1 G 2 ^ 30 = 1G 230=1G
    • 故 2 ^ 19 bytes = 2 9 2^9 29 * 2 10 2^{10} 210 = 2 9 K b y t e s 2^9 Kbytes 29Kbytes = 2 9 K B 2^9 KB 29KB = 512 KB
      在这里插入图片描述
  • 故最终答案为能存储 512 KB 的容量(如下图):

在这里插入图片描述

3.2 根据末地址 和 存储容量,求首地址

题目如下:

在这里插入图片描述


题解如下:

若题目未指明,则默认每个地址为 1个字节。

因为共 2KB 即 2K Bytes 即 2048 Bytes,需将 2000(十进制)转换为 十六进制。

因常识为 1024 = 2 10 2^{10} 210,故 2000 = 2 11 2^{11} 211 = 2后面1个0(B) = 1000-0000-0000(B) = 800(H) 即 0x800。详见下图:

在这里插入图片描述

而因公式为 存储空间 = 末地址 − 首地址 + 1 存储空间 = 末地址 - 首地址 + 1 存储空间=末地址首地址+1,故 首地址 = 末地址 − 存储空间 + 1 首地址 = 末地址 - 存储空间 + 1 首地址=末地址存储空间+1 = 9FFF(H) - 0800(H) + 1(B)= A000(H) - 0800(H) = 9800(H)。详见下图:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/674571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode300. 最长递增子序列(动态规划-java)

最长递增子序列 leetcode300. 最长递增子序列题目描述解题思路代码演示: 二分法改进(N * logN)动态规划专题 leetcode300. 最长递增子序列 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/longest-increasing-subsequenc…

C++标准输出

C将输入和输出看作字节流,输入时,程序从输入流中抽取字节,输出时,程序将自己插入到输出流中,流充当了程序与流源或流目标之间的桥梁,也就是说C通过流与硬件,文件相关联,流赋予了C程序…

[数字图像处理]第六章 彩色图像处理

第六章 彩色图像处理 引言 ​ 彩色图像处理可分为两个主要领域:全彩色处理和伪彩色处理。在第一类中, 通常要求图像用全彩色传感器获取,如彩色电视摄像机或彩色扫描仪。在第二类中,问题是对一种特定的单色灰度或灰度范围赋予一种…

设计模式之装饰者模式笔记

设计模式之装饰者模式笔记 说明Decorator(装饰)目录装饰者模式示例类图快餐类炒饭类炒面类装饰者类鸡蛋类培根类测试类 说明 记录下学习设计模式-装饰者模式的写法。JDK使用版本为1.8版本。 Decorator(装饰) 意图:动态地给一个对象添加一些额外的职责。 结构: 其中&#x…

【Neo4j教程之CQL命令基本使用】

🚀 Neo4j 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,C…

Python基础篇(二):入门基础必备知识

Python基础篇(一):如何使用PyCharm创建第一个Python项目(包含tools) 入门基础必备知识 1. 标识符2. 关键字2.1 关键字字典 3. 引号3.1 表示字符串3.2 在字符串中使用引号3.3 创建多行字符串3.4 在注释中使用引号 4. 编码5. 输入输出5.1 输入示例5.2 输出示例5.3 格…

王道计算机网络学习笔记(3)——数据链路层

前言 文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。 三:数据链路层 3.1:数据链路层功能概述 结点:主机、路由器 链路:网络中两个结点之间的物理通道,链路的传输介…

PolarFormer:Multi-camera 3D Object Detection with Polar Transformer——论文笔记

参考代码:PolarFormer 1. 概述 介绍:在仓库RoboBEV中总结了现有的一些bev感知算法在不同输入情况下的鲁棒性,在这些感知算法中PolarFormer拥有较为不错的泛化性能。这个算法的思想是将之前由直角坐标系栅格化构建bev网格,转换到由…

Unity之透明度混合与ps的透明度混合计算结果不一致

一、问题 前段时间学习shader时发现了一个问题,一张纯红色透明度为128的图片叠加在一张纯绿色的图片上得出的结果与ps中的结果不一致。网上查找了ps中的透明混合的公式为 color A.rgb*A.alpha B.rgb*(1-A.alpha)。自己使用代码在unity中计算了一下结果总是不对。…

Python--异常处理

Python--异常处理 <font colorblue>一、异常<font colorblue>二、异常处理语句<font colorblue>1、try...except语句<font colorblue>2、try...except...else语句<font colorblue>3、try...except...finally语句<font colorblue>4、raise语…

leetcode354. 俄罗斯套娃信封问题(动态规划-java)

俄罗斯套娃信封问题 leetcode354. 俄罗斯套娃信封问题题目描述:解题思路代码演示 动态规划专题 leetcode354. 俄罗斯套娃信封问题 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/russian-doll-envelopes 题目描述: 给你…

c++学习之模板

目录 一&#xff0c;模板的概述 二&#xff0c;函数模板 1.函数模板的定义 2.函数模板的注意事项 3.函数模板的重载 4.函数模板的局限性 三&#xff0c;类模板 1.类模板的概念 2.类模板定义方式 3.类模板的成员函数在类外实现 4.函数模板作为类模板的友元 5.在写程…

《大学英语4》期末考试复习(一)听力原文+答案速记

目录 Unit 1 Long conversation Passage 1 Unit 2 Long conversation Passage 1 Unit 3 Long conversation Passage 1 Unit 4 Long conversation Passage 1 Unit 5 Long conversation Passage 1 Unit 6 Long conversation Passage 1 Unit 7 Long conversat…

Java线程池小结

目录 一.什么是线程池 二.线程池的好处是什么 三.四种基本线程池及其使用 newCachedThreadPool newFixedThreadPool newScheduledThreadPool newSingleThreadExecutor 线程池的四种拒绝策略 选择一:AbortPolicy 选择二:CallerRunsPolicy 选择三:DiscardPolicy 选择四…

【Java】Java核心要点总结70

文章目录 1. volatile 如何保证变量的可⻅性&#xff1f;2. volatile 可以保证原⼦性么&#xff1f;3. synchronized 关键字4. synchronized 和 volatile 的区别5. synchronized 和 ReentrantLock 的区别 1. volatile 如何保证变量的可⻅性&#xff1f; 在Java中&#xff0c;使…

html实现多种风格的时间轴(附源码)

文章目录 1.设计来源1.1 对称风格时间轴1.2 横向风格时间轴1.3 回忆风格时间轴1.4 记事风格时间轴1.5 简易风格时间轴1.6 科技风格时间轴1.7 列表风格时间轴1.8 跑道风格时间轴1.9 人物风格时间轴1.10 容器风格时间轴1.11 沙滩风格时间轴1.12 双边风格时间轴1.13 图文风格时间轴…

【verilog基础】时钟无毛刺切换电路 Clock Glitch Free

文章目录 一、时钟切换电路:容易产生毛刺二、时钟无毛刺切换电路:在S端增加一些控制通路三、异步时钟无毛刺切换电路:使用同步电路解决亚稳态问题四、真题题目解答一、时钟切换电路:容易产生毛刺 1、在芯片运行时经常需要切换时钟源,通常的实现方式是:通过mux来选择不同的…

用试题这把“剑“帮你破除指针与数组之间的那些猫腻

作者主页&#xff1a;paper jie的博客_CSDN博客-C语言,算法详解领域博主 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《系统解析C语言》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白…

【linux】在Linux系统开机的时候卡在/dev/nvme0n1p1:clean / files / blocks界面进不去

一、问题背景 开机的时候没办法开机&#xff0c;一直停留在下面这个界面。 x86/cpu: SGX disabled by BIOS dev/nvme0n1p3:clean, 21118/30523392 fies, 122066176/122070272 blocks dev/nvme0n1p4:clean, 486125/61038592 fies,21657184/244140544b1ocks 试过网上的一些方法…

Ubuntu20.04+Intel SGX(一):环境安装与测试

文章目录 测试环境一、检查服务器是否支持SGX方法1&#xff1a;cpuid查看是否支持SGX方法2&#xff1a;test-sgx.c测试是否支持SGX验证是否支持SPS 二、启动 SGX 服务参考文档启动 SGX方法1&#xff1a;BIOS 启动SGX方法2&#xff1a;软启动 SGX检查SGX是否开启成功 三、安装 S…