关于进制那点事

计算机中常用的2进制,8进制,16进制其实是同一种数字的不同表达,在图像处理中要经常用到他们之间的转换。他们之间到底有什么关系呢,在做java图形界面的过程中偶尔有一点感悟,与大家共同分享。

首先看他们各自的定义:

2进制:Binary,是计算机内部可识别的唯一数制,以2为基数的计数法,采用0,1两个数字

8进制:Octal,缩写OCT或O,一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字

16进制:Hexadecimal,一种以16为基数的计数法,采用0-9,10个数字和a-f 6个字母(不区分大小写)

看几个例子:

十六进制 八进制 二进制 十进制

ff   377   11111111(8个1)   255

7     7       111(3个1)     7

fff  7777                       111111111111(12个1)   4095

3f    77     111111(6个1)   63

这里可以总结一下规律:

①十六进制中每1位代表二进制中的4位,八进制中的每1位代表二进制中的3位

②不论十六进制还是八进制在最大值下,每多一位转换为二进制时都会根据①的原则多相应位数个1

③十六进制和八进制转换为二进制都可以安位转,即将每一位数转换为相应的二进制数就是最后对应的结果

除此之外,这些数字在不同的进制之间其实有共同的意义

比如四位二进制数可以表示最多16可能性(这里每一种数值我们称为一种可能性),而一位十六进制数也能表示最多十六种可能性,四位二进制数种最大的数1111对应十六进制中的f,利用这种假设可以很好的将其相互转换

例如(这里结果都是十进制的形式)

十六进制 f5代表的可能性为:15 * 16 + 5 =245 

十六进制85代表的可能性为:8 * 16 + 5 =133

八进制74代表的可能性为:7 * 8 + 4 = 60

以上是个人的理解,当然他们之间有更通用的数学转换公式,百科上有很详尽的讲解



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值