首页 > 编程语言 >【编程基础】进制之间的转换

【编程基础】进制之间的转换

时间:2024-03-28 22:31:41浏览次数:29  
标签:十六进制 转换 进制 二进制 编程 八进制 十进制

前言:

文本推荐阅读时间20-30mins。详细讲解进制之间转换的原理。让你知其然,知其所以然。

目录

1.十进制、二进制、八进制、十六进制

 符号反应权重

符号所在的位置也反应权重

为什么人类会发明十进制

推广到r进制计数法

2.其他进制转换成十进制

记住每一位的位权

3.二进制,八进制,十六进制之间的相互转换

二进制转换为八进制

二进制转换为十六进制 

八进制转换为二进制

十六进制转换为二进制

各种进制常见的书写方式

4.十进制转化为其他进制

整数部分处理方法

小数部分处理方法

另一种方法

5.真值和机器数

6.更多内容:关于机器数就是原码,反码,补码的内容会在别的博客和大家见面。


1.十进制、二进制、八进制、十六进制

 1.1符号反应权重

阿拉伯数字:0,1,2,3,4,5,6,7,8,9   总共有是10不同的符号,每一个符号会反应不同的权重,代表不一样的实际数值

符号反应权重

古印度人还发明了10进制

1.2符号所在的位置也反应权重

十进制:例如:985.211           

每一个数字所处的位置不同那它的权重就不一样

换种表达方式就是这样

是基于乘法思想的计数方法

由每个符号所处的位置决定的权值权重就称之为位权

1.3为什么人类会发明十进制

事实上人类发明十进制系统的一个主要原因就是因为我们的手指有十个。在数数或演算时,我们可以很自然地使用手指作为视觉和触摸的辅助,因此,十进制系统对人来说很直观、易理解。这也是为什么十进制系统在全世界各地的许多不同文化中都得到了广泛的应用。

所以人在数数的时候逢十进一,最符合人类的习惯

1.4推广到r进制计数法

对于r进制来说基数就是r,表示每个数码位置可能会用到r种符号

生活中我们还能看到60进制,就是我们的时间60秒为1分钟,60分钟为1小时这样

主要和大家介绍二进制,十进制,八进制十六进制

前面和大家介绍过了十进制,十进制一共十有0到9十个符号,以此类推:

二进制:0,1         逢2进1

八进制:0,1,2,3,4,5,6,7       逢8进1

十六进制:0,1,2,3,4,5,6,7,9,A,B,C,D,E,F     这里的ABCDEF表示的是10到15,因为数码位只能是放一个符号所以使用字幕表示  逢16进1

看看你会不会算呢?

下面来看看这些进制数如何得出它们表示的十进制数字


2.其他进制转换成十进制

上面举的例子已经说明了如何转换为10进制,让每一个位置乘以位权之后相加。

下面介绍一个快速计算的方法让你更快的得出表示的十进制数是多少

2.1记住每一位的位权

以上面的二进制数字为例,其他进制同理。


3.二进制,八进制,十六进制之间的相互转换

二进制的基数为2,就是说每一个数码位都有2种可能的数字0,1

八进制的基数为8,十六进制的基数为16.同理

3.1二进制转换为八进制

如果二进制转换为八进制,是3个二进制数字转换为1个八进制数字,因为八进制的每一个数码位有八种可能,3个二进制数的可能就是2×2×2=8;

不满3位数字就最最低位后面补0,最高位前面补0;十六进制同理

3.2二进制转换为十六进制 

3.3八进制转换为二进制

就是一个逆向的过程一个八进制数字转换为3个二进制数字

这里一个括号然后外面写一个小2,表示这个数是二进制数

3.4十六进制转换为二进制

同理1个十六进制数字转换为4为二进制数

3.5各种进制常见的书写方式

1.括号外面写数字表示是几进制

2.字母表示进制,B表示binary是二进制的意思,

H表示hexadecimal是十六进制的意思还有在数字前面加上0x也表示十六进制;

D表示decimalism表示十进制;


4.十进制转化为其他进制

分为整数部分和小数部分来看先看整数部分

4.1整数部分处理方法

如:75.3 ,整数部分为75

假设这个十进制数字是以r进制来表示如图。

整体除以r之后会得到商和余数K0(因为K0的位权是1,也就是r的0次方,无法整除r)

k0的范围就是0到r-1(因为r进制的符号是0到r-1);

之后重复操作就可以得到K1 K2 K3........

这种方法叫做除基取余法(除以基数r,取走余数)

 假设是十进制转化为二进制,r为2如图

需要注意我们先得到的是低位.

4.2小数部分处理方法

同样是以75.3为例子,小数部分为0.3

假设这个十进制数字是以r进制来表示如图。

整体乘上基数r之后的整数部分就是得到的二进制数

之后重复操作就可以得到K-2;K-3.......

这种方法叫乘基取整法(乘基数r,取走整数)

4.3另一种方法

就是记住位权,拿十进制数去凑,得到对应的二进制数。

5.真值和机器数

真值:符合人类喜欢的数字

机器数:实际存到机器里的形式,正负号需要被“数字化”


6.更多内容:关于机器数就是原码,反码,补码的内容会在别的博客和大家见面。

如果本文章对你有帮助的话还请点赞收藏转发哦~

标签:十六进制,转换,进制,二进制,编程,八进制,十进制
From: https://blog.csdn.net/2302_79846942/article/details/134124410

相关文章

  • 协程&异步编程
    协程,也可以被称为微线程,是一种用户态内的上下文切换技术。简而言之,其实就是通过一个线程实现代码块相互切换执行协程一般应用在有IO操作的程序中,因为协程可以利用IO等待的时间去执行一些其他的代码,从而提升代码执行效率。async事件循环事件循环,可以理解为while循环,在周期性......
  • 【感悟《剑指offer》典型编程题的极练之路】02字符串篇!
    ​                                                                 个人主页:秋风起,再归来~                                        ......
  • pdf转换器免费的有哪几款?
    免费的pdf工具有哪些?PDF在我们办公频繁使用到,方便阅读,但是很多时候都需要进行文件格式的转换,一款优质、高效的PDF转换工具,能使我们高效地工作。今天就为大家系统地介绍5款免费、好用的PDF转换工具,大家有需要的话可以来这里了解下。1、ilovepdf.com.cnilovepdf在线转换器官方版......
  • 前端base64转换成excel
    baseToExcel(baseStr,fileName){varraw=window.atob(baseStr);varuInt8Array=newUint8Array(raw.length);for(vari=0;i<raw.length;i++){uInt8Array[i]=raw.charCodeAt(i);}constlink=......
  • LibreOffice 将word,excel,PowerPoint文件转换PDF
    安装LibreOffice并将Word和Excel文件转换为PDF文件,并设置文件存放路径的步骤如下:1.安装LibreOffice如果尚未安装LibreOffice,可以通过以下命令在Ubuntu上安装:sudoaptupdatesudoaptinstalllibreoffice2.使用LibreOffice将Word和Excel文件转换为PDF要将Word和Excel......
  • 二进制、十进制与十六进制相互转化
    二进制数(满2进1):表示方式01010110十进制数(满10进1):表示方式为常规数字表示十六进制(满16进1):数字0-15分别对应0123456789ABCDEF二进制数转十进制:1010 转换为10进制(从左往右):1*2^3+0*2^2+1*2^1+0*2^0=10十进制转二进制:10短除法除以2从下到上取余数1010二进制转换为十六进制:101......
  • 【深度解析】计算机组成原理:8位二进制数的原码、反码与补码表示及溢出处理实例
    #自用笔记引言在计算机系统中,数值的内部表示是其基础组成原理的核心部分。尤其对于有符号整数而言,原码、反码和补码的运用极大地简化了运算过程,并有效地解决了负数表示问题。本文将深入探讨8位二进制数下这三种编码方式的规则,同时通过具体示例分析溢出现象及其解决办法。一......
  • GO并发编程
    Go语言的并发编程是其核心特性之一,它提供了简洁强大的机制来处理并发任务。Go并发模型的基石是goroutines和channels。GoroutinesGoroutine是Go语言中实现并发的基本单位。你可以把它看作一个轻量级的线程,由Go运行时(runtime)进行管理。启动一个新的goroutine非......
  • Java对象转换失败-Long类型转Integer类型
    对象转换工具类/***转换工具类*/publicclassConvertUtils{privatestaticLoggerlogger=LoggerFactory.getLogger(ConvertUtils.class);publicstatic<T>TsourceToTarget(Objectsource,Class<T>target){if(source==null){......
  • 【wpf】ListBoxItemIndexConverter转换器listbox序号自更新
    publicclassListBoxItemIndexConverter:IMultiValueConverter{publicobjectConvert(object[]values,TypetargetType,objectparameter,CultureInfoculture){stringindexPrefix=null;if(parameter!=null&&parameter......