数制与进制转换

发布时间:2020-07-17 16:50:31 作者:wx5d85e4075df83
来源:网络 阅读:428

计算机与程序设计中,我们常见的数制有二进制(B),八进制(O),十进制(D)和十六进制(H)。

二进制数:(以0B开头)

二进制数又称机器数,在机器的世界里,只认识0和1,二进制数就使用0和1来表示。一般来说二进制数很容易区分和判断,因为二进制数哪怕一个非常小的数都非常长,有时候我们习惯从右往左,每四位数空格分隔,这样易于辨识数的大小。
如:14用二进制来表示可以写作1110
25用二进制表示可以写作0001 1001(或11001)
转换方法如下:
数制与进制转换
如图十进制的123转成二进制就是1111011,其实转成几进制都是一个道理。一直除到为0为止。
二进制转十进制:

把每个数位单独转换后把所有的转换结果求和

数制与进制转换

计算机字节里采用二进制补码记录数字,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

所有非负数整数, 补码和原码一样
.十进制负数转二进制:“先取正数的二进制值,再取反,加1”
【例】:(-31)10 = (1)2 ----这是在计算机世界里的表示方法,取反,实际上,-31的二进制表示为-11111
31的二进制数为11111,取反00000,加1得1。
二进制转八进制或16进制
1、先转换为10进制数再使用短除法转换。
2、转换八进制可以使用 421每三位一转。如刚刚的123的二进制为0B1 111 011,八进制则为1 4+2+1 2+1 =173
3、转换16进制和8进制同理,使用8421转换。 132的二进制为111 1011十六进制为 4+2+1 8+0+2+1 =7B

八进制数

八进制数为每逢八位进一位,八进制数规定必须以0开头。八进制使用01234567这八位数字来表示数值。
八进制转二进制则是拆分,每个数拆分为三位的二进制数照写就OK。
八进制转十进制,权值相加就ok。如下图。
数制与进制转换
八进制转十六进制数需要使用二进制或十进制作为中间桥梁,二进制作为中间数会更加简单一些。
例如:
八进制的:1234567

转换为二进制是每个数字转换为三位二进制:001 010 011 100 101 110 111

然后把这些数字从右边开始进行按四位分组:0 0101 0011 1001 0111 0111

然后从右边每四位组依次对应一个16进制数:053977

十六进制数

十六进制数为每逢16位进一位,十六进制数规定必须以0X开头。十六进制使用0123456789ABCDEF这十六个数来表示。
16-->2:
要将十六进制数转换成二进制数,只要将1位十六进制数写成4位二进制数,然后将整数部分最左边的“0”和小数部分最右边的“0”去掉即可。

例如:3B.328H = 0011 1011.0011 0010 1000B = 111011.001100101B
16-->8:可以先写成2进制数,再转化成八进制。如上面的
3B.328H = 0011 1011.0011 0010 1000B = 00 111 011. 001 100 101 000B
=73.145O
16-->10:使用权值法,就ok。如2AF5=数制与进制转换
例:1A6.3B8H
=110^2+A10^1+610^0+310^(-1)+B10^(-2)+810^(-3)
=116^2+1016^1+616^0+316^(-1)+1116^(-2)+816^(-3)
=419.232422

十进制数
十进制数转换任意数制都可参照二进制数的短除法,几进制就除几。类似,此处不再赘述。

进制转换完成
————杨广

推荐阅读:
  1. NETWORK笔记2:数制、符号、转换
  2. Python格式化format与进制转换

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

运维 开发 进制转换

上一篇:Android中自定义RecyclerView如何实现不固定刻度的刻度尺

下一篇:Linux下调整磁盘大小后的基于LVM的磁盘扩容

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》