ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

计算机二进制的转行

2026/8/15 15:56:35 拓冰建站 浏览量
计算机二进制的转行

1.整数在计算机中的存储原理

其实任何数据在计算机中都是以二进制表示的。那这里肯定有人问,什么是二进制啊?所谓二进制其实就是一种数据的表示形式,它的特点是逢2进1。

数据的表示形式除了二进制(逢2进1),八进制(逢8进1)、还有十进制(逢10进1)、十六进制(逢10进1)等。

对于二进制绝大多数同学,应该是非常陌生的。 没关系!来,大家跟着我的思路,你就知道二进制是怎么表示数据的了。

1.二进制中只有01两个数首先十进制的0和二进制的0是一样的,十进制的1和二进制的1也是 一样的。但是十进制中	  有2,但是二进制中就没有22.那么二进制是如何表示十进制的2呢?1
+	1		
——————————	10	  这里两个1相加,结果为2,由于二进制满21,所以最终结果103.那么二进制是如何表示十进制的3呢?前面我们已经知道二进制10表示十进制的2,那么二进制10+1就表示十进制的3啊!10
+    1
—————————11	 十进制的3对应的二进制是114.那么二进制是如何表示十进制4的呢?前面我们已经知道二进制11表示十进制的4,那么11+1就表示十进制的511
+    1
—————————100   十进制的5对应的二进制是100你找到规律了吗? 你能不能依次写出5的二进制、6的二进制?

前面每算一个二进制数据都是采用+1的方式,逢2进1,一个一个算出来的。有没有更快的算出十进制对应二进制的方法呢? 这里学习一种方式:叫做除2取余法。

2.除2取余法

1.怎么做呢?答:让十进制数据连续除以2,直到商为0,余数反转2.举例1:把十进制6转换为二进制	商	余数6/2     3    03/2		1	 11/2		0	 1然后把余数反转:6对应的二进制是1103.举例2: 把十进制13转换为二进制商	余数13/2	6	 16/2		3	 03/2	 	1 	 11/2		0	 1然后把余数反转:10对应的二进制是11014.练习1:你能把十进制7转换为二进制吗?自己试试吧!

3. 二进制到十进制的转换

前面我们学习了十进制可以转二进制,采用的是除2取余法,那么我们反过来能不能把二进制转换为十进制呢?

这里给大家介绍一种计算方式叫做:8421码

为了便于理解,我们先在看一下十进制怎么转十进制,主要是为了让大家看到演化过程。

1.十进制转十进制比如我们把12345进行分解:12345 = 10000 + 2000 + 300 + 40 + 5= 1*10^4 + 2*10^3 + 3*10^2 + 5*10^0我们发现:在十进制中如果把十进制的每一位从右往左从0开始编一个号,假设这一位数字是a,			那么这一位数表示的值就是:a*10^n;----------------------------------------------------------------------2.二进制转十进制:类比十进制:如果把二进制的每一位从从右往左0开始编一个号用n表示,假设二进制的每一位是a,那么这一位表示的十进制值是:a*2^n1)假设二进制的每一位都是1128	64	32	16	8	4	2	1	每一位表示的十进制:a*2^n7	6	5	4	3	2	1	0	编号:n1	1	1	1	1	1	1	1   二进制的每一位:a二进制		 十进制11111111 = 1*2^7  + 1*2^6 + 1*2^5 + ... + 1*2^0= 128    + 64    + 32    + ... + 1= 2552)假设二进制的为0010001128	64	32	16	8	4	2	1	每一位表示的十进制:a*2^n7	6	5	4	3	2	1	0	编号:n0	0	1	0	0	0	0	1	二进制的每一位:a二进制				十进制00001101 = 0*2^7 + 0*2^6 + 1*2^5 + ... + 1*2^0= 0     + 0     + 32 	 + ... + 1= 333)8421码:从右往左给二进制的每一位数依次按照1 2 4 8...标记128	64	32	16	8	4	2	10	0	1	0	0	0	0	1-----------------------------只需要将1位上的数字加起来,就是二进制对应的十进制二进制			  十进制00001101 = 		8+4+1= 		130000111	 =      4+2+1= 		70001111  =      8+4+2+1=      25

4. 二进制转八进制

前面我们说计算机中数据都是采用二进制来存储的,但是二进制阅读和编写起来都不太方便。为了便于阅读和书写,又推出了八进制、十六进制。

1.运算规则:把二进制的每三位一组合,然后对每三位用8421码进行计算,最后拼接到一起原因:因为111,的值是7, 再大满7就需要往进位了。 2.把二进制11001110转换为八进制数据01	100 001		二进制每三位一组合1	4	1		每一组进行8421码运算----------八进制:141

5. 二进制转十六进制

1.运算规则:把二进制的每四位一组合,然后对每四位用8421码进行计算,最后拼接到一起原因:因为1111,的值是15, 再大116了就需要往进位了。 2.举例:把二进制11001110转换为十六进制数据0110 0001		二进制每四位一组合6	 1			每一组进行8421码运算----------十六进制:613.练习:把111100转换为十六进制0011 11003	 12		由于十六进制中有a,b,c,d,e,f分别表示10,11,12,13,14,15-----------十六进制:3c

6.不同进制在Java程序中的书写格式

System.out.pirntln('a'+1); //98
System.out.pirntln(0b01100001); //97
System.out.pirntln(0141); //97
System.out.pirntln(0x61); //97