计算机组成原理“上分秘籍”——数据的表示和运算

news2025/1/7 6:25:27

前言

上分地图

目录

前言

上分地图

猜你想问

Q1:为何要研究数据表示问题?

Q2:什么叫数据表示?计算机中又有哪些方法?

正文

上分突破口1:进位计数法

例:二进制转为十进制

例:二进制转换为八进制和十六进制

各种进制的常见书写方式

⭐十进制数转换为任意进制数

上分突破口2:BCD码

上分突破口3:定点数的表示形式

定点小数

定点整数

原码

反码

补码

上分突破口4:IEEE754浮点数

两种格式:


猜你想问

Q1:为何要研究数据表示问题?

数据表示是计算机硬件与软件之间的接口,了解计算机中数据表示是了解各主要部件工作原理的重要前提。


Q2:什么叫数据表示?计算机中又有哪些方法?

数据表示能由计算机硬件直接识别出来的数据类型,既可以用计算机硬件直接表示出来,并能由计算机指令直接调用该数据类型。

计算机中常用的数值数据表示方法有:定点数、浮点数


接下来,速速与笔者一起双排上分吧!

正文

在计算机系统内部 , 所有的信息 都是用 二进制进行编码的。

上分突破口1:进位计数法

思维导图
常用的进位计数法有十进制、二进制、八进制、十六进制等。
基数: 每个数码位所用到的不同符号的个数, r进制的基数为r。
十进制的基数为10(0~9),每个数位记满10就向高位进位, 即"逢十进一"。
二进制 0, 1
八进制 0, 1, 2, 3, 4, 5, 6, 7
十进制 :  0, 1, 2, 3, 4, 5, 6, 7, 8, 9
十六进制 :  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

例:二进制转为十进制

将二进制数转换成对应的十进制数的方法是按权展开求和”。


例:二进制转换为八进制和十六进制

对于一个二进制混合数 ( 即包含整数部分 , 又包含小数部分 ), 在转换时应以小数点为界。
其整数部分 , 从小数点开始往左数 , 在数的最左边可根据需要加 "0 补齐 ";
对于小数部分 , 从小数点开始往右数 , 在数的最右边可根据需要加 "0" 补齐。
最终使总的位数为 3 4 的整数倍 , 然后分别用对应的八进制数或十六进制数取代。
二进制 👉  八进制
1111000101.01101
3 位一组 , 每组转换成对应的八进制符号
001 111 000 101 . 011 010
1 7 0 5 . 3 2 八进制 ( 1705 . 32 8

二进制 👉十六进制

1111000010.011010
4 位一组 , 每组转换成对应的十六进制符号
0011 1100 0010 . 0110 1000
3 C 2 . 6 8 十六进制 ( 3C2 . 68 ) 16

各种进制的常见书写方式

二进制     1010001010010)2 1010001010010B
八进制       (1652)8
十六进制   (1652)16 1652H 0x1652
十进制      (1652)10 1652D

⭐十进制数转换为任意进制数

两种对应方法:

1、除基取余法(整数部分的转换): 整数部分除基取余, 最先取得的余数为数的最低位, 最后取得的余数为数的。
最高位, 商为0时结束。

2、乘基取整法(小数部分的转换): 小数部分乘基取整, 最先取得的整数为数的最高位, 最后取得的整数为数的。

最高位, 乘积为1.0时(或者满足精确位数)结束。

上分突破口2:BCD码

十进制数转换成二进制数 就要用到一种转换码, BCD 码就是其中的一种 , 每位 BCD 码用 四个二进制位 来表示。

8421码又称为BCD码,是十进制代码中最常用的一种,因为代码中从左至右看每一位“1”分别代表数字“8” “4”“2”“1”故得名8421码。

比如: 29 对应的 BCD 0010 1001 BCD

上分突破口3:定点数的表示形式

定点数指 小数点在数中位置固定不变的数 。定点数分为定点整数和定点小数,由于小数点位置固定
不变,所以存储时小数点不进行存储。

定点小数

定点整数

而定点数有 3 种表示法:原码、反码和补码。

原码

原码是计算机机器数中最简单的一种形式, 数值位就是真值的绝对值符号位“0”时表示正数,符号位为“1”时表示负数
11000 表示  -8
01000 表示   8

反码

反码通常是用来由原码求补码或者由补码求原码的过渡码

规则:

原码是正数时,反码就是跟原码一样;
原码是负数时,反码就是原码符号位除外,其他位按位取反。

例子:
整数的 “+0” 原码为 0,0000000 ,反码为 0,0000000;
整数的 “-0” 原码为 1,0000000 ,反码为 1,1111111 。

补码

补码是计算机把减法运算转化为加法运算的关键编码。

规则:
正数的 补码等于反码
负数的 补码等于反码加一

例子:
+ 的补码是 00001001
原码是: 00001001
反码是: 00001001
- 的补码是 11110111
原码是: 10001001
反码是: 11110110

上分突破口4:IEEE754浮点数

IEEE 浮点数标准是从逻辑上用三元组{S,E,M}来表示一个数 V 的,即:

V=(-1)S×M×2E

如下图所示:

其中:

符号位 s(Sign)决定数是正数(s=0)还是负数(s=1),而对于数值 0 的符号位解释则作为特殊情况处理。

有效数字位 M(Significand)是二进制小数,它的取值范围为 1~2-ε,或者为 0~1-ε。它也被称为尾数位(Mantissa)、系数位(Coefficient),甚至还被称作“小数”。

指数位 E(Exponent)是 2 的幂(可能是负数),它的作用是对浮点数加权。


浮点数格式是一种数据结构,它规定了构成浮点数的各个字段、这些字段的布局及算术解释。IEEE 754 浮点数的数据位被划分为三个段,从而对以上这些值进行编码。数据结构icon-default.png?t=MBR7https://baike.baidu.com/item/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1450


两种格式:


例子:

假定采用IEEE754单精度浮点数格式表示一个数为45100000H,则该数的值是( B )

A (+1.125)10×210
B (+1.125)10×211
C (+0.125)10×211
D (+0.125)10×210
解析:
题目给的数字是16进制  45100000H
首先要知道符号阶码尾数 1+8+23

步骤:

先转换为二进制
0100 0101 0001 0000 0000 0000 0000 0000

②求符号阶码及尾数

s 就是 0 表示正数
E 10001010 也就是 138 e=E-127=11
M 就是 001

③根据公式求二进制真值

真值 = (−1)^s×1.M×2^e

结果:

化为十进制:

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

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

相关文章

路由综合实验

目录需求分析解决方法1,环回配置2,路由接口ip配置3,配置DHCP服务4,配置缺省5,静态路由配置6.浮动路由配置7,nat的配置8,远程服务及端口进行映射需求分析 一,原始需求如图&#xff1…

基于React Native开发的非法App破解记录

目标app YUhSMGNITTZMeTloWm1ZdWJIVnNkWE5wY2k1dFpTOD0 使用jadx反编译,找了一圈没有找到相应代码,看AndroidManifest.xml也不像有加壳的样子。。。 在lib目录下找到libreactnativejni.so文件,看似和react相关,莫非这app是大前端…

C++ Primer Plus 第六版(中文版)第五、六章(重置版)编程练习答案

//本博主所写的代码仅为阅读者提供参考; //若有不足之处请提出,博主会尽所能修改; //附上课后编程练习题目; //若是对您有用的话请点赞或分享提供给它人; //-----------------------------------------------------…

JavaScript奇淫技巧:反调试

JavaScript奇淫技巧:反调试 本文,将分享几种JS代码反调试技巧,目标是:实现防止他人调试、动态分析自己的代码。 检测调试,方法一:用console.log检测 代码: var c new RegExp ("1"…

Cesium 定位到图层(ImageryLayer)报错 DeveloperError: normalized result is not a number

Cesium 定位到图层(ImageryLayer)报错 DeveloperError: normalized result is not a number错误原因调试定位问题过程问题解决总结在使用 Cesium 封装代码的时候,遇到个奇怪的问题。 使用 viewer.flyTo(ImageryLayer) 报错:Devel…

【2022年度悲报】-回望2022,展望2023

文章目录一、前言-想对大家说的话二、有感而谈2022年-新年开端(同销万古愁)2022年-前中期(再进再困,再熬再奋)2022年-年后半段(玉骨那愁瘴雾,冰姿自有仙风)2022年-年末尾声&#xff…

简单总结:Flink和Kafka是如何做到精准一致性的

Flink CheckPoint机制 CheckPoint本质上就是检查点,类似于玩游戏的时候,需要偶尔存档,怕家里断电导致自己白玩。 Flink也是一样的,机器也是可能宕机,那么Flink如何保证自身不受宕机影响呢? 一般来说&am…

python小案例——采集财经数据

前言 大家早好、午好、晚好吖 ❤ ~ 另我给大家准备了一些资料,包括: 2022最新Python视频教程、Python电子书10个G (涵盖基础、爬虫、数据分析、web开发、机器学习、人工智能、面试题)、Python学习路线图等等 全部可在文末名片获取哦&…

MATLAB算法实战应用案例精讲-【人工智能】语义分割(补充篇)(附实战应用案例及代码)

前言 语义分割作为计算机视觉领域的关键任务,是实现完整场景理解的必经之路。为了让机器拥有视觉,要经过图像分类、物体检测再到图像分割的过程。其中,图像分割的技术难度最高。 越来越多的应用得益于图像分类分割技术,全场景理解在计算机视觉领域也至关重要。其中一些应…

强大的ANTLR4(3)--算术表达式

下面要构建一个简单的计算器,规则如下: 1)可以由一系列语句构成,每条语句由换行符终止 2)一条语句可以是表达式、赋值语句或空行 3)可以有加减乘除、小括号以及变量出现 例如,文件名t.expr的内…

【Java】PriorityQueue梳理

【Java】PriorityQueue梳理 简介 PriorityQueue是优先队列的意思。优先队列的作用是能保证每次取出的元素都是队列中权值最小的。这里牵涉到了大小关系,元素大小的评判可以通过元素本身的自然顺序(natural ordering),也可以通过…

linux的例行性工作

一,单一执行的例行性工作 定时任务,将来的某个时间点执行 使用单一理性工作的命令:at -> atd 命令 服务名 查看atd状态,看有没有这个服务,查看结果为有 我们使用 at 命令来生成所要运行的工作,并将…

Taro+nutui h5使用nut-signature 签名组件的采坑记录

近期在使用Taro(“tarojs/taro”: “3.4.0-beta.0”) Nutui (3.1.16)开发H5时,需要一个签名功能结果在小程序上运行正常的 nut-signature组件,在h5上出问题了 首先问题是 : Nutui的 签名组件(nut-signature&#xff…

加解密与HTTPS(3)

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~ 除了对称加密算法和非对称加密算法,再就是最后的一种加密算法了:不可逆加密算法。 对称加密算法和非对称加密算法在处理明文的过程中需要…

线程池ThreadPoolExecutor的源码中是如何解决并发问题的?

ThreadPoolExecutor面临哪些线程安全问题 ThreadPoolExecutor俗称线程池,作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务。 然而为高效并发而生ThreadPoolExe…

C++项目实战:职工管理系统

1.管理系统的要求 系统可以管理公司内部所有员工的信息 主要使用c实现一个基于多态的职工管理系统 公司中的职工分为三类:普通员工、经理、老板,显示信息时需要显示职工编号、职工姓名、职工岗位以及职责 普通员工职责:完成经理安排的各项任…

oh my 毕设-人体姿态估计综述

文章目录What is Human Pose Estimation?Classical vs. Deep Learning-based approachesClassical approaches to 2D Human Pose EstimationDeep Learning-based approaches to 2D Human Pose EstimationHuman Pose Estimation using Deep Neural NetworksOpenPoseAlphaPose (…

想要努力赚钱,培养四种基础能力

这四种基础能力分别是:认知力、学习力、执行力、复盘力。我们的认知和思维,很大程度上,都是由所处的环境和圈子决定的。在同一个环境和圈子里面呆久了,你的认知就会被固化了。穷人最根本的枷锁,不是缺乏资金&#xff0…

excel图表技巧:看看,这个饼图象不象罗盘?

说到制作柱形图、条形图、饼图,相信大家都没有问题,直接选中数据,再插入对应的图表就行了,可如果要制作一张双层饼图你还会吗?“啥?还有双层饼图?”嘿嘿,不知道了吧,双层…

PVE+NUT+群晖等配置

文章目录配置文件说明默认配置(翻译的)ups.conf(设置ups通信相关)upsd.conf(设置ups客户访问的相关信息)upsd.users(设置upsd用户)nut.conf(nut的配置,主要是模式,决定使用哪些文件)upsmon.confupssched.confupssched-cmd官方手册写的可以的文章只需要实现&#xff…