计算机组成原理(第二次笔记)

news/2024/9/18 22:15:42/ 标签: 学习

各种码

真值 (书写用):
将用“+”、“-” 表示正负的二进制数称为真值
机器不能识别书写格式,故用“0/1”表示“+/-”符号。
机器码 (机器内部使用):
将符号和数值一起编码表示的二进制数称为机器码。
常用机器码:原码、 反码、 补码、移码

  1. 原码
  2. 反码
  3. 补码
  4. 移码

原码

定点小数的原码形式为 x0 . x1 x2 ··· xn注意中间有个小数点(共n+1位,x0为符号位),则原码表示的定义:

在这里插入图片描述下面给出示例
在这里插入图片描述

定点整数的原码形式为 x0 x1 x2 ··· xn,则原码表示的定义是:
在这里插入图片描述示例
在这里插入图片描述

对于0,原码机器中往往有**“+0”、“-0”**之分,即:

  • 小数:[+0]原=0.000…0
       [-0]原=1.000…0
  • 整数:[+0]原=0000…0
       [-0]原=1000…0

反码

反码其符号位和原码相同, 真值是正数时,反码与原码 相同;真值是负数时,反码数值位为真值数值位取反。
定点小数反码的定义

在这里插入图片描述
在这里插入图片描述
定点整数反码的定义
在这里插入图片描述
【例 】已知机器字长 8位,对于数值0,分别给出其原码 、反码的编码。
【解】
原码:
+0:0000,0000 B → 00 H
-0:1000,0000 B → 80 H
反码:
+0:0000,0000 B → 00 H
-0:1111,1111 B → FF H

补码

定点小数的补码形式为 x0 .x1 x2 ··· xn-1xn,则补码表示的定义是:
在这里插入图片描述
定点整数的补码形式为 x0 x1 x2 ··· xn,则补码表示的定义是:

在这里插入图片描述
补码的表数范围
n+1位补码整数: −2n次方 ~ 2n次方 − 1
n+1位补码小数: −1 ~ 1− 2(-n 次方)
若补码整数的位数是8位,其表数范围: -128 ~ +127
若补码整数位数是16位,其表数范围: -32768 ~ +32767
若补码小数的位数是8位时,其表数范围:
- 1 ~ 1- 2(-7次方) 即 -1 ~ +127/128
若补码小数的位数是16位时,其表数范围:
- 1 ~ 1- 2(-15次方)

补码编码的求解方法

正数直接取其原来的二进制码,符号位为0
负数:
方法一:直接求解,真值数值位逐位取反,末位加1,符号位为1;
方法二:扫描法,从最右侧向左扫描,直到找到第一个1,该数位内容不变,其左侧所有数据位取反,其他数据位不变,符号位为1。
一般情况下第二种方法应该是最快的
熟练记住第二种方法
在这里插入图片描述
在这里插入图片描述

移码

移码通常用于表示浮点数的阶码。
假设定点整数移码形式为 x0x1 x2 ··· xn-1xn时,移码的定义是:
在这里插入图片描述
移码和补码的关系
即数x的补码和移码进行转换时,数值位不变,符号位取反。
在这里插入图片描述下图常考点!!!
在这里插入图片描述


http://www.ppmy.cn/news/1525973.html

相关文章

Centos 执行yum安装 出现Failed connect to mirrors.163.com:80; 拒绝连接

错误如下: http://mirrors.163.com/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to mirrors.163.com:80; 拒绝连接 解决办法: 换镜像源地址 添加阿里的源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.al…

OCR 通用端到端模型GOT

摘要 在人工智能领域,光学字符识别(OCR)技术已经取得了显著的进展。随着技术的不断进步,我们正迈向OCR 2.0时代。本文将介绍由Vary团队开发的通用端到端模型GOT,这一模型在OCR领域具有革命性的潜力。 论文概览 论文…

一. rpc基本学习

1. 什么是rpc,为什么有了http还要rpc 我们常说的http,应该是说的http1,http只是应用层的一个协议 Rpc是一种调用方式,全称叫远程过程调用,对应本地调用,rpc是一种调用方式,不是一种协议 更具体…

Qt与MQTT交互通信

MQTT全称是(Message Queuing Telemetry Transport),即消息队列遥测传输协议 是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,并且该协议构建于TCP/IP协议之上,常用于互联网中&am…

【贪心算法】(二)贪心算法区间问题及进阶习题

贪心算法区间问题及进阶习题 贪心算法解决区间问题跳跃问题1. 跳跃游戏2. 跳跃游戏 Ⅱ 重叠区间问题3. 用最少数量的箭引爆气球4. 无重叠区间5. 划分字母区间6. 合并区间 其他问题7. 最大子序和8. 加油站9. 监控二叉树 贪心算法解决区间问题 跳跃问题 对于跳跃问题这一类问题&…

《OpenCV计算机视觉》—— 图像轮廓检测与绘制

文章目录 一、轮廓的检测二、轮廓的绘制图像轮廓检测与绘制的代码实现 三、轮廓的近似 一、轮廓的检测 轮廓检测是指在包含目标和背景的数字图像中,忽略背景和目标内部的纹理以及噪声干扰的影响,采用一定的技术和方法来实现目标轮廓提取的过程注意:做轮…

数据格式:什么是JSON和XML

JSON和XML都是数据交换的一种格式,用于在不同的系统和应用程序之间传输和存储数据。本文将解释JSON和XML的基础内容,并探讨两者的不同。 一 什么是JSON? 1. JSON(JavaScript Object Notation)即JavaScript对象标记法…

ThinkPHP Email功能如何配置才能发送邮件?

ThinkPHP Email发送流程?使用ThinkPHP发Email方法? ThinkPHP作为一款流行的PHP框架,提供了强大的Email功能,使得开发者能够轻松实现邮件发送。AokSend将详细介绍如何配置ThinkPHP Email功能,以确保邮件能够顺利发送。…

【Go】Go语言基本语法--注释、变量、常量

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【C++】vector常见用法

🔥个人主页🔥:孤寂大仙V 🌈收录专栏🌈:C从小白到高手 🌹往期回顾🌹:[C]string类 🔖 流水不争,争的是滔滔不息。 文章目录 一、vector的介绍vector…

vite+vue3快速构建项目+router、vuex、scss安装

安装 Vite npm install -g create-vite-app创建vue3项目 npm init vitelatestnpm i安装依赖 安装veux、router npm install vue-router vuex新建router/index.js(自己创建home、login对应页面文件) import { createRouter, createWebHistory } from…

代码随想录 | Day20 | 二叉树:二叉树所有路径左叶子之和

代码随想录 | Day20 | 二叉树:二叉树所有路径&&左叶子之和 主要学习内容: 1.利用二叉树的谦虚遍历进行题目解答 2.to_string函数的使用 257.二叉树所有路径 257. 二叉树的所有路径 - 力扣(LeetCode) 解法一&#xf…

Vue面试题3

目录 1.简述对于Vue的diff算法理解? 2.简述Vue组件的通信(父子组件和非父子组件)? 3.简述Vue组件的通信(兄弟组件通信)? 4.简述Vuex的使用? 5.Vuex 页面刷新数据丢失怎么解决&am…

Mysql链接异常 | [08001] Public Key Retrieval is not allowed

Datagrid报错 [08001] Public Key Retrieval is not allowed 这个错误通常是由于 MySQL 8.0 中的新特性导致的。默认情况下,MySQL 8.0 使用 caching_sha2_password 作为认证插件,而你需要在连接 URL 中明确允许公钥检索或者使用老版本的认证方式 mysql…

S32K3 工具篇5:如何使用lauterbach下载调试elf文件

S32K3 工具篇5:如何使用lauterbach下载调试elf文件 一,利用trace32现有flash脚本烧录elf二,debug 现有elf文件 之前写过如何在S32DS中使用lauterbach下载,但是对于RTD EB MCAL的代码,通常情况下是使用命令的方式去编译…

重学SpringBoot3-SpringApplicationRunListener

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-SpringApplicationRunListener 1. 基本作用2. 如何实现2.1. 创建SpringApplicationRunListener2.2. 注册SpringApplicationRunListener2.3. 完整示例 3.…

k8s(kubernetes)的PV / PVC / StorageClass(理论+实践)

NFS总是不支持PVC扩容 先来个一句话总结:PV、PVC是K8S用来做存储管理的资源对象,它们让存储资源的使用变得可控,从而保障系统的稳定性、可靠性。StorageClass则是为了减少人工的工作量而去自动化创建PV的组件。所有Pod使用存储只有一个原则&…

深入了解HarmonyOS(鸿蒙操作系统)

深入了解HarmonyOS(鸿蒙操作系统):全场景智慧生活的核心 引言 随着物联网和人工智能的快速发展,传统的操作系统已难以满足多设备、多场景的智能互联需求。为此,华为于2019年正式发布了自主研发的操作系统——Harmony…

【LeetCode 算法笔记】155. 最小栈

目录 问题描述单个栈实现双栈实现不开辟额外空间 问题描述 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop()…

Github 2024-09-12 Go开源项目日报Top10

根据Github Trendings的统计,今日(2024-09-12统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10C项目1Terraform:基础设施即代码的开源工具 创建周期:3626 天开发语言:Go协议类型:OtherStar数量:40393 个Fork数量:9397 次关注…