计算机组成原理 new05 第二章01 R进制和十进制的转换

news2024/11/20 18:34:33

文章目录

        • 为什么计算机要使用二进制
        • 基数
      • R进制
        • 二进制
        • 十进制
        • 八进制
        • 十六进制
        • R进制转十进制
        • R进制转十进制
        • 二,八,十六进制数的相互转换
        • 进制转换关系
        • 关于二进制和八进制之间的互相转换
        • 进制的转换(精度问题)
        • 进制大小的比较

为什么计算机要使用二进制

在这里插入图片描述

基数

基数:R进制每位最多使用到的不同符号的个数,R进制的基数为R。

R进制

R进制:R进制就是采用R个基本符号(0,1,2,....R-1)来表示数字的进行表示方式,R进制遵守“逢R进一”的运算规则,生活中常用的R进制又可细分为以下几类:
1.二进制
2.十进制
3.八进制
4.十六进制

二进制

进制:由两个基本符号组成(0,1)的一种进制表示方式,遵守"逢2进一"的运算规则,后缀以B(Binary)进行表示。

例如:
(1)11110101.01B
(2)101001B

十进制

十进制:由10个基本符号组成(0,1,2,3,4,5,6,7,8,9)的一种进制表示方式,遵守"逢十进一"的运算规则,后缀以D(Decimal)进行表示

例如:
(1)145D
(2)10.35D

八进制

八进制:由8个基本符号组成(0,1,2,3,4,5,6,7)的一种进制表示方式## 标题,遵守"逢八进一"的运算规则,后缀以O(Octal)进行表示

例如:
(1)76
(2)45.4

十六进制

十六进制:由16个基本符号组成(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)的一种进制表示方式,遵守"逢十六进一"的运算规则,后缀以H(Hexadecimal)进行表示,也可以使用0x作为前缀来表示。

例如:

(1)A7
(2)A7.BE

R进制转十进制

R进制转十进制:任意R进制如果想要转换成十进制,只需要将每一位按权展开即可:

在这里插入图片描述
例如:八进制:77.6对应十进制: 6 × 8 − 1 + 7 × 8 0 + 7 × 8 1 = 0.75 + 7 + 56 = 63.75 \color{red}{6 \times 8^{-1}+7\times 8^0+7\times 8^1=0.75+7+56=63.75} 6×81+7×80+7×81=0.75+7+56=63.75
十六进制:A6.E对应十进制: 14 × 1 6 − 1 + 6 × 1 6 0 + 10 × 1 6 1 = 0.875 + 6 + 160 = 166.875 \color{red}{14 \times 16^{-1}+6\times 16^0+10\times 16^1=0.875+6+160=166.875} 14×161+6×160+10×161=0.875+6+160=166.875

R进制转十进制

R进制转十进制有两种方法:

   ( 1 ) (1) (1)拼凑法
拼凑法:根据十进制来反推R进制对应权值的数字。

例如:
1.十进制转二进制
在这里插入图片描述
为什么能用这种拼凑的方法来进行转换呢?也就是说是一个十进制数字对应R进制一定是固定的排列组合吗?举例来说1001100100(二进制)可以表示十进制的512,有没有可能有另一种组合同样表示十进制的512呢?

答案是一定是唯一的,因为任何的R进制本质都是逢R进一,也就是说任意R进制的排列组合本质都是从1开始指向无穷的,逐渐递增的,既然如此那对应的排列组合必须也是唯一的,也就是说一个排列组合对应了一个独立的数字,所以说我们使用拼凑法得到的数字也是唯一的,但是拼凑法一般用于二进制,因为二进制除了0就是1,而其他进制基本符号较多,所以难以进行拼凑,所以可以使用短除法,或者进行间接的转换(十进制先转二进制,二进制再转对应的R进制(这种方法在后面我们会介绍))

   ( 2 ) (2) (2)短除法

短除法:短除法需要对整数部分和小数部分分别进行处理。
整数部分:不断进行短除,直到分母小于除数。
小数部分:不断进行乘,直到结果无小数部分。
读取规则:整数从下往上,小数从上往下。
取整规则:向下取整
短除法的本质:通过短除的方式判断对应权值位的数字
技巧:整数部分,先写余数,再写短除。

十进制转R进制的整数部分一定能表示出来吗?可以的, 两者本质都从0开始,每次递增1的数字。

1.十进制转二进制
其中对于整数部分的原理非常好解释,既然除2
在这里插入图片描述

如何理解短除法中整数部分和小数部分的处理?

1.整数部分

2.十进制转八进制
在这里插入图片描述
小树部分,每次乘上进制以后,若该位有数字,那么得到的结果一定是大于等于1的,并且进行下一轮乘R的时候,去掉这位对后面的位不会造成影响。
在这里插入图片描述

在这里插入图片描述

二,八,十六进制数的相互转换

   ( 1 ) (1) (1)八进制转二进制

方法:八进制的基本符号为8,二进制的基本符号为2,一个八进制位对应三个二进制位,所以只需要将八进制按照等值的二进制进行展开即可。

( 0 ) 8 = ( 000 ) 2 \color{red}{(0)_8=(000)_2} (0)8=(000)2
( 1 ) 8 = ( 001 ) 2 \color{red}{(1)_8=(001)_2} (1)8=(001)2
( 2 ) 8 = ( 010 ) 2 \color{red}{(2)_8=(010)_2} (2)8=(010)2
( 3 ) 8 = ( 011 ) 2 \color{red}{(3)_8=(011)_2} (3)8=(011)2

注:八进制转换成二进制以后,整数部分最高位,小数部分最低位的0可以去掉。

练习一:将 ( 13.724 ) 8 \color{red}{(13.724)_8} (13.724)8转换成二进制数。

13.724 O = \color{red}{13.724O=} 13.724O= 001011.111010100 B = 1011.1110101 B \color{red}{001 011.111 010 100B}=1 011.111 010 1B 001011.111010100B=1011.1110101B

练习二:将 ( 0.11 ) 8 \color{red}{(0.11)_8} (0.11)8转换成二进制数
0.11 O = 0.001001 B \color{red}{0.11O=0.001001B} 0.11O=0.001001B

练习三:将 ( 0.18 ) 8 \color{red}{(0.18)_8} (0.18)8转换成二进制数
0.18 O = 0.001111 B \color{red}{0.18O=0.001111B} 0.18O=0.001111B

注意:在这块一定不要和十进制混在一起了,就记住,即使是八进制小数部分同样也是按照等值的三位二进制进行转换。

   ( 2 ) (2) (2)二进制转八进制
方法:整数部分从低位向高位方向每三位用一个等值八进制来替换,最后不足三位时高位补0凑满三位,小数部分从高位向低位
方向每三位用一个等值八进制来替换,最后不足三位时低位补0凑满三位。

练习一:将 ( 10011.01 ) 2 \color{red}{(10011.01)_2} (10011.01)2转换成八进制

10011.01 B = 010011.010 B = 23.2 O \color{red}{10011.01B=010011.010B=23.2O} 10011.01B=010011.010B=23.2O

练习一:将 ( 0.10101 ) 2 \color{red}{(0.10101)_2} (0.10101)2转换成八进制

0.10101 B = 0.101010 B = 0.52 O \color{red}{0.10101B=0.101010B=0.52O} 0.10101B=0.101010B=0.52O

   ( 3 ) (3) (3)十六进制转二进制
十六进制和八进制转二进制的唯一区别是十六进制是四个二进制位对应一个十六进制位。

练习:将 ( 2 B . 5 E ) 16 \color{red}{(2B.5E)_{16}} (2B.5E)16转换成二进制数。

0 X 2 B . 5 E = 00101011.01011110 B = 101011.010111 B \color{red}{0X2B.5E=00101011.0101 1110B=101011.010111B} 0X2B.5E=00101011.01011110B=101011.010111B

   ( 4 ) (4) (4)二进制转十六进制
方法:整数部分从低位向高位方向每四位用一个等值十六进制来替换,最后不足四位时高位补0凑满四位,小数部分从高位向低位
方向每四位用一个等值十六进制来替换,最后不足四位时低位补0凑满四位。

练习:将 ( 11001.11 ) 2 \color{red}{(11001.11)_2} (11001.11)2转化成十六进制数

11001.11 B = 00011001.1100 B = 0 X 19. C \color{red}{11001.11B= 00011001.1100B=0X19.C} 11001.11B=00011001.1100B=0X19.C

注:十六进制和八进制转二进制,最后看下整数部分最高位和小数部分最低位是否有0需要去掉。

进制转换关系

在这里插入图片描述
总结:
一:十进制和任意R进制都可以互转
二:十进制转八进制和十六进制有两种方法:
1.十进制直接转八进制/十六进制
2.十进制先转二进制,二进制再转八进制/十六进制

关于二进制和八进制之间的互相转换

二进制---->八进制
整数部分:从低权值位到高权值位 3位一转化 最高位不够补0
小数部分:从高权值位到低权值位 3位一转化 最低位不够补0

八进制—>二进制
整数部分:最高位的0可以去掉
小数部分:最低位的0可以去掉

进制的转换(精度问题)

无论是什么进制, 整数之间一定可以进行完整的相互转换。

小数比较特殊,任何R进制的小数都可以由十进制来进行转换。
十六进制,二进制,八进制之间无论是整数还是小数都是一定能够进行互相的完全转换的。因为都能够通过二进制为中介,而十进制的小数不是所有二进制都能转换,2,8,16一定能够互相转换,所以可以得出十进制小数不是所有2,8,16进制都能转换。

所以最终结论:
2,8,16十进制整数小数都能够完全转换
十进制整数和R进制整数互转不会有精度的缺失
R进制小数一定能由十进制表示,十进制小数不一定能完整表示为R进制小数。

进制大小的比较

结论:不管是什么进制,只要高位越大,则说明这个数越大。

例如:
F00
EFF
这里看上去可能会觉得EFF更大,但是实际上F00更大,F00的高位更大,EFF+1=F00,所以对比两个数字的大小只需要比高位。

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

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

相关文章

论文阅读:Graphics2RAW: Mapping Computer Graphics Images to Sensor RAW Images

论文阅读:Graphics2RAW: Mapping Computer Graphics Images to Sensor RAW Images 这是一篇 ICCV 2023 的文章,主要介绍了一种数据仿真的方式。 Abstract CG 渲染得到的图像与相机拍摄得到的图像越来越像了,这种摄影级的渲染逼近效果让越来…

Unity Profiler 详细解析(一)

Overview: . Profiler简介 . Profiler各模块介绍 . 各平台下Profiler的使用 . 基于Profiler的优化定位 . Profiler的主要参数详解 . Profiler案例 Profiler简介 Profiler 是Unity中分析性能开销的工具 • 各种开销一览无遗 • 可跨平台使用(Web、PC、iOS、Android、…

Visual Studio 2022下载安装的详细步骤-----C语言编辑器

目录 一、介绍 (一)和其他软件的区别 (二)介绍编写C语言的编辑器类型 二、下载安装 三、创建与运行第一个C语言程序 (一)创建项目 (二)新建文件 (三&#xff09…

Bag of Tricks for Efficient Text Classification(FastText)

主要的有点就是快,用途就是用于文本分类,模型结构如上,主要是通过embedding将文本转换成向量,然后进行mean-pooling,然后输入到hidden隐向量中,通过softmax输出多分类,损失函数是对数似然损失函…

CDA level II 知识点 根据模拟题抱佛脚速记

第一章 市场调研的基本步骤:提出问题-->理论推演-->收集材料-->构建模型-->归因分析。 定性研究方法:1、文案调查法;2、深度访谈法;3焦点小组座谈法;4、投影技法。 一般离中趋势的指标有:标…

Transformers基本组件(二)快速入门Datasets、Evaluate、Trainer

Transformers基本组件(二)快速入门Datasets、Evaluate、Trainer 1、基础组件Datasets 数据集部分的工作,一部分在于数据集的收集,另一部分在于数据集的处理。Datasets库的出现,一定程度上也使得这两部分的工作变得简…

学习杂谈1

不知道写些什么就想着把这段时间网上看到的一些面试题写下来,供各个找工作的人参考 简述一下RabbitMQ的工作模式 simple模式(即最简单的收发模式) 消息产生消息,将消息放入队列消息的消费者(consumer)监听:消息队列&a…

YOLOV8改进:RefConv(即插即用重参数化重聚焦卷积替代常规卷积,无额外推理成本下涨点明显)

1.该文章属于YOLOV5/YOLOV7/YOLOV8改进专栏,包含大量的改进方式,主要以2023年的最新文章和2022年的文章提出改进方式。 2.提供更加详细的改进方法,如将注意力机制添加到网络的不同位置,便于做实验,也可以当做论文的创新点。 3.涨点效果:RefConv,实现有效涨点! 论文地址…

游戏设计模式专栏(十三):在Cocos游戏开发中运用责任链模式

点击上方亿元程序员关注和★星标 引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 本系列是《和8年游戏主程一起学习设计模式》,让糟糕的代码在潜移默化中升华,欢迎大家关注分享收藏订阅。 责任链模式&#xff…

面试题:谈谈过滤器和拦截器的区别?

文章目录 一、拦截器和过滤器的区别二、拦截器和过滤器的代码实现1、拦截器2、过滤器 三、总结1、什么是Filter及其作用介绍2、Filter API介绍3、Filter链与Filter生命周期 四、拦截器五、过滤器和拦截器的区别 一、拦截器和过滤器的区别 1、拦截器(Interceptor)只对action请求…

全球国家行政区划边界(中国科学院地理科学与资源研究所)

简介: 行政区划边界是指各个行政区域之间划定的界限,以确保行政管理的有序和合法。通常,这些边界是根据政治、行政、文化等因素来划分的,如国家、省份、市级行政单元、县区等。这些行政区划边界的划分和调整需要经过政府的制定和…

proteus中仿真arduino的水位测试传感器

一、原理介绍 我们这里使用的水位传感器,只能说是一个小实验用途的水位传感器。我们首先上图 如上图所示,线没有连接,传感器由许5对裸露在外的铜线片作为传感部分,当浸入水中时这些铜线片会被水桥接。 这些被水连接起来的铜线&a…

CUDA学习笔记(二)CUDA简介

本篇博文转载于https://www.cnblogs.com/1024incn/tag/CUDA/,仅用于学习。 CUDA是并行计算的平台和类C编程模型,我们能很容易的实现并行算法,就像写C代码一样。只要配备的NVIDIA GPU,就可以在许多设备上运行你的并行程序&#xf…

2024王道考研计算机组成原理——指令系统

零、本章概要 指令寻址:解决的是PC"1"的问题 数据寻址:使用寄存器/内存/结合 基址寻址:用于多道程序的并发执行 直接寻址:call 0x12345678 变址寻址:esi edi用于循环,因为使用直接寻址需要一堆…

TX Text Control ActiveX 32.0 For VB6 Crack

ActiveX Visual Basic 6 应用程序的文档处理,TX Text Control适用于 Visual Basic 6 和基于 COM 的语言的综合文字处理和报告 视窗用户界面,功能齐全的文档编辑器 TX Text Control 是一款完全可编程的丰富编辑控件,它在专为 Visual Studio 设…

自然语言处理---Transformer机制详解之BERT模型介绍

1 BERT简介 BERT是2018年10月由Google AI研究院提出的一种预训练模型. BERT的全称是Bidirectional Encoder Representation from Transformers.BERT在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且在11种不…

计算机视觉实战项目3(图像分类+目标检测+目标跟踪+姿态识别+车道线识别+车牌识别+无人机检测+A*路径规划+单目测距与测速+行人车辆计数等)

车辆跟踪及测距 该项目一个基于深度学习和目标跟踪算法的项目,主要用于实现视频中的目标检测和跟踪。该项目使用了 YOLOv5目标检测算法和 DeepSORT 目标跟踪算法,以及一些辅助工具和库,可以帮助用户快速地在本地或者云端上实现视频目标检测和…

最新AI智能写作创作系统源码V2.6.4/AI绘画系统/支持GPT联网提问/支持Prompt应用

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统AI绘画系统,支持OpenAI GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署…

[深入浅出AutoSAR] SWC 设计与应用

依AutoSAR及经验辛苦整理,原创保护,禁止转载。 专栏 《深入浅出AutoSAR》 全文 3100 字, 包含 1. SWC 概念 2. 数据类型(Datatype) 3. 端口(Port) 4. 端口接口(Portinterface&…

【终极版】刷完这100行Python,从新人变成大佬

文章目录 基础入门菜鸟提升基础晋级高手之路内置包库奇技淫巧 基础入门 1 python 即在命令行输入python,进入Python的开发环境。 2 x 12*3-4/56**2 加减乘除四则混合运算,可当作计算器使用,其中**表示乘方。 3 print(x) 输出x的值&#x…