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

前言:

文本推荐阅读时间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.更多内容:关于机器数就是原码,反码,补码的内容会在别的博客和大家见面。

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

  • 37
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值