计算机常用进制的相关介绍:

1,二进制(计算机技术中广泛采用的一种数制),八进制,十进制,十六进制

二进制数据是用“0”和“1”两个数码来表示的数。它的基数为2,进制规则就是“逢二进一”,有别于我们生活当中常用的十进制。计算机只能处理和识别“0”和“1”符号串组成的代码,所以我们可以用开关来表示这两个数码,用“开”来表示1,用“关”表示0。

各进制的表示形式:

二进制 ,用2个阿拉伯数字:0、1; 以0b(b可以大写也可以小写)开头

八进制,逢8进1,用8个阿拉伯数字:0、1、2、3、4、5、6、7;以0开头

十进制,用10个阿拉伯数字:0到9; 整数默认是十进制

十六进制就是逢16进1,但我们只有0~9这10个数字,所以我们用A,B,C,D,E,F这五个字母来分别表示10,11,12,13,14,15。字母不区分大小写。以0x开头。

演示:依次输出不用进制表示100的数据。

  • 0b100(二进制)
  • 0100(八进制)
  • 0x100(十六进制)

2,进制间的相互转换

下面总结我自己在进制转换的常用方法,仅供参考,毕竟各进制都可以相互转换,先转成哪个进制在乎于自己的喜爱。
我总结的有以下四大类,每个类别又有两种情况,一共有8种情况。

1. 十进制和二进制之间的相互转换:
十进制——>二进制
方法:8421码
如图:一个字节有八个二进制位,下面是一个字节的二进制位表示
java语言基础回顾(一)不同进制相互转换的总结-LMLPHP
第一行为二进制位,第二行为对应二进制位的十进制表示,通过记住这种表示方法,可以快速地将二进制数据和十进制数据进行转换。
演示:
十进制的数据129转换为二进制数据
步骤:
1将129和比129小的二进制位表示的十进制数最大的那一个作差,并在该二进制位用1表示,接着将余数和上一个二进制的低一位表示的十进制数相减,不足的用0表示二进制位,以此类推,直到没有余数。129 > 128,所以128对应的二进制位用1表示,而129-128=1,刚好二进制的最低位是1,则该二进制位用1表示,没有了余数,即完成。

二进制–>十进制
与上面的转换思想相反即可。
例:
0b110
原码:
00000110
4 2
上面二进制的两个1对应的分别是4和2,将他们相加,就是4+2=6。则0b110的十进制数为6。

2. 二进制和八进制,十六进制的相互转换

二进制–>八进制
一个八进制数由三个二进制数组成(2^3=8),所以,依照这个思想,我们可以以三个二进制数为一个单位,不足补0,组成一个八进制数。
例:0b1110
原码:
001 110
—— ——
1 4+2 (按权展开求和)
1 6
16 (八进制)

八进制–>二进制
和上面的转换思想相反,一个八进制数可以表示三个二进制位,用8421码依次展开,不足位补0,得到二进制数,再拼起来。
例:0216
原码:
2 1 6
2->010 (用8421码展开,得出对应的二进制数)
1->001
6->110
得出0216的二进制表示为10 001 110

二进制–>十六进制
一个十六进制数由四个二进制数组成(2^4=16),取四合一。
例:0b100101100
原码:
0001 0010 1100
0001->1
0010->2
1100->8+4=12=C
得到0b100101100的十六进制表示为12C

十六进制–>二进制
例:0x226
原码:
2 2 6
2->010
2->010
6->110
得到0x226的二进制表示为10010110

3.十进制和八进制,十六进制的相互转换
十进制–>八进制,十六进制
间接法
先把十进制转换为二进制,再把二进制转换为相应的八进制和十六进制的数即可。

直接法
除积倒取余法
java语言基础回顾(一)不同进制相互转换的总结-LMLPHP
java语言基础回顾(一)不同进制相互转换的总结-LMLPHP
八进制,十六进制–>十进制
方法为:把八进制、十六进制数按权展开、相加即得十进制数
java语言基础回顾(一)不同进制相互转换的总结-LMLPHP

还有就是,可以先把八进制和十六进制转换为二进制,再转换为十进制也可以。

4.八进制和十六进制的相互转换

第一种:他们之间的转换可以先转成二进制然后再相互转换。

第二种:他们之间的转换可以先转成十进制然后再相互转换。

以上即为本人对进制转换的相关复习,如有错误,欢迎指出,小生不才,还请大家多多指教。

10-06 16:48