408计算机组成原理学习笔记——数制和编码

简介: 408计算机组成原理学习笔记——数制和编码

1.进位计数制及其相互转化

1.基数:每个数码位用到的不同符号的个数

二进制:0、1(逢2进1)

八进制:0、1、2、3、4、5、6、7(逢8进1)(3位2进制)

十六进制:0、1、2、3、4、5、6、7、8、9、A 、B、C、D、E、F(逢16进1)(4位2进制)

2.转换成数值:各位数码按位权相加

3.二进制的优势:

①可以用两个稳定状态的物理器件表示

0、1对应逻辑假和真,方便实现逻辑运算

③方便使用逻辑门电路实现算术运算

4.真值:实际带正负号的数值(人类习惯的样子)

机器数:把正负号数字化的数(机器中数字的存放形式)

机器字长 = 通用寄存器位数 = ALU位数 = 计算机一次最多进行计算的位数

2.无符号整数的表示

1.没有符号位,即不需要添加0或者1表示正负

2.n位(n bit)所能表示的范围位 0 - gif.gif

最小的数:全0

最大的数:全1

2.1.无符号整数的加法

从最低位开始,按位相加,并往更高位进位be37e1611a144df29bd3b4806c72784a.png

2.2.无符号整数

①被减数不变,减数全部按位取反,取反后加1

快速方法:从右往左找到第一个1,这个1左边的全部位按位取反

这么做的原因是:加法电路易于实现,造价便宜,减法电路实现困难,造价昂贵

②从最低位开始,按位相加,并往更高位进位13b9e02fa77c4fa7b08f0206eba0e974.png

3.带符号整数

3.1.原码表示

af7df5d95f904808b859a8ce324a13a7.png

1.符号位1bit:0/1对应负/正;剩下位数表示真值的绝对值

2.若机器字长为n + 1bit:原码表示范围为 -gif.gif  ~ + gif.gif(真值部分全1)

3.真值0有两种形式(符号位不同,真值相同):设有8bit

+0:0000 0000

-0:1000 0000

4.原码的缺点:符号位不能参与运算,需要特别设定电路(因此设计补码)  

91c7dab569ae40d4af64b0ff71c483ea.png

3.2.反码和补码47b4a3668bab41a891a7a8486b38a668.png

1.正数:不变

负数:反码:符号位不变,数值位按位取反;补码:反码的基础上末位+1

2.原码、反码、补码的第一位都是符号位

3.补码转换为反码:补码→原码→反码

4.原码和补码相互转换从右往左找到第一个1,这个1左边的所有数值位按位取反

3.3.补码的加法

从最低位开始,按位相加(符号位参与运算),并往更高位进位


f4c58f2ebb9e462eb4fb643d791a53ef.png

3.4.补码的减法

1.原理:将减法转化为加法:A - B = A + (-B)

2.将B转换为-B:全部位(包括符号位)按位取反,末位+1(同无符号数的减法)

快速方法:从右往左找到第一个1,这个1左边的全部位按位取反(区别于原码和补码转换)70295713540a4b6b980eac671cdbb506.png

3.5.原码、补码加法减法小结


e6dbcc550a4440aa9de99637c97402be.png

3.6.原码、反码、补码和移码基本特性总结

1cd05faf57b3488d83ef1e5cb7909199.png

设共有8bit:

1.原码和反码的范围为-127 ~ +127。其中:

①原码的最小值-127(1111 1111) = 反码真值-0 (1111 1111)

②原码真值-0(1000 0000)= 反码最小值-127(1000 0000)

2.补码和移码范围为-128 ~ +127。其中:

①补码和移码真值0只有+0

补码:0000 0000;移码:1000 0000

②补码 -128:1000 0000;移码-128:0000 0000

3.判断溢出:手算十进制,是否超出合法范围

3.7.移码

cc388c47851940c2b2eef8292ae5b241.png

1.补码的基础上符号位取反

2.移码只能表示整数(原码、反码、补码都可以表示小数)

3.移码的范围:-128 ~ + 127(和补码相同)

4.移码的特性:真值单调增大,适用于硬件电路比较大小(浮点数阶码

4.定点小数

1.某位的位权的大小根据和小数点相对位置决定

2.定点整数:默认小数点在最后一位的右边(原码、反码、补码、移码)

定点小数:默认小数点在符号位的右边(原码、反码、补码)

3.定点小数的原码、补码、反码的转换、加法和减法和定点整数一致

4.若对整数进行扩展,在符号位和数值位中间加0;若对小数进行扩展,在数值位的右边加0(原码)420f508626f54b55a198be5f84c16650.png








相关文章
|
存储 运维 云计算
深度解析云计算计费方式,看完这篇全懂了!
深度解析云计算计费方式,看完这篇全懂了! 随着科技的飞速发展,云计算已经成为了我们生活中不可或缺的一部分。然而,对于云计算的计费方式,你是否感到困惑呢?这篇文章将为你深度解析云计算的计费方式,让你看完之后全懂了!
1054 1
|
4月前
|
C++
什么是单项式
单项式是代数式中的一种
|
9月前
|
固态存储 虚拟化 iOS开发
VMware ESXi 6.7U3v macOS Unlocker & OEM BIOS 2.7 集成 Realtek 网卡驱动和 NVMe 驱动 (集成驱动版)
VMware ESXi 6.7U3v macOS Unlocker & OEM BIOS 2.7 集成 Realtek 网卡驱动和 NVMe 驱动 (集成驱动版)
547 58
VMware ESXi 6.7U3v macOS Unlocker & OEM BIOS 2.7 集成 Realtek 网卡驱动和 NVMe 驱动 (集成驱动版)
|
JSON Dart Android开发
Flutter 2024: Impeller引擎引领渲染新纪元
Flutter 2024以Impeller引擎引领渲染新时代,全面提升性能与流畅度。Impeller已在iOS及Android(支持Vulkan/OpenGL)全面部署,Material 3集成深化视觉体验,多视图支持增强复杂UI管理。Dart 3.2与3.4版本迭代优化语言特性与性能,引入宏编程简化JSON处理。桌面与Web端持续优化,深化平台适配。
651 14
|
9月前
|
人工智能 自然语言处理 前端开发
用户说 | 零基础用通义灵码 AI 程序员开发个人笔记网站
通义灵码是一款基于通义大模型的智能编码辅助工具,支持自然语言生成代码、单元测试生成、代码注释生成等功能,兼容多种主流IDE和编程语言。对于零基础用户,只需通过自然语言描述需求,通义灵码即可自动生成代码,帮助快速开发个人笔记网站,极大简化开发流程,提升效率。
|
存储 缓存 IDE
CAN通信的基本原理与实现方法
CAN通信的基本原理与实现方法
2725 1
|
监控 API 开发者
深入解析Docker容器的生命周期
【8月更文挑战第24天】
436 0
408计算机组成原理学习笔记——运算方法和运算电路(一)
408计算机组成原理学习笔记——运算方法和运算电路
765 1
408计算机组成原理学习笔记——运算方法和运算电路(一)
|
JSON 数据格式 网络架构
技术心得记录:快手的小视频爬取
技术心得记录:快手的小视频爬取
|
算法
408王道数据结构强化——算法题(一)
408王道数据结构强化——算法题
597 1
408王道数据结构强化——算法题(一)