各个进制之间转换

1、计算机内部只有二进制,包括字符数据等。
int i=15; //00000000 00000000 00000000 00001111
char c=‘A’; //00000000 01000001

2、十进制是人类的习惯
计算机在输出时候,按照人类习惯输出十进制。
计算机默认接受十进制数据,自动转换为二进制。

3、十六进制是二进制的简写,四位四位对应转换(8421规则)。(计算机专业人士为了表达二进制方便而提供的)
Unicode码,字符编码一般用十六进制来表示,为了与十进制区分,十六进制以0x开头。

八进制与二进制的转换,三位三位对应转换。八进制以0开头(零)

八进制也是二进制的简写,三位对应转换(不常用)

4、byte  8bit  -128~127 


8位
128 64 32 16  8 4 2 1
1   1  1  1   1 1 1 1
8位二进制的权数,1~128之和=255
由于最高位是符号位,所以255-128=127

5、单位换算表:
1Byte=8bit
1KB=1024Byte(字节)=8*1024bit
1MB=1024KB
1GB=1024MB
1TB=1024GB
1PB=1024TB

2^10=1024

6、
//单行注释
/*
多行注释     
*/

package day02;

public class BinDemo {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		int i=15;
		//f(g(x)); 计算顺序:数学中先计算g(x),然后计算f(g(x))
		System.out.println(Integer.toBinaryString(i)); //1111,转换为二进制
		i='A'; //单引号‘’(字符);双引号""(字符串)
		System.out.println(Integer.toBinaryString(i)); //1000001

		i=192;
		System.out.println(Integer.toBinaryString(i)); //11000000
		i=0xc0;  //十六进制,Java中表示十六进制前缀用0x (零x)
		System.out.println(Integer.toBinaryString(i)); //11000000
		i=0xffff;
		System.out.println(Integer.toBinaryString(i)); //1111111111111111
		
		i='中'; //0x4e26=='中'  
		System.out.println(Integer.toBinaryString(i)); //100111000101101
		
	}

}

		/*
		 * 	多行注释     //单行注释
		 */

		
		/*
各个进制之间的转换:
65(10)=6*10+5*1=6*10^1+5*10^0  //十进制,以10为基数,最高次幂为(十进制位数-1),一直计算到10^0;
1111(2)=1*2^3+1*2^2+1*2^1+1*2^0  //二进制,以2为基数,最高次幂为(二进制位数-1),一直计算到2^0;
	   =1*8	 +1*4  +1*2  +1*1
	   =8+4+2+1
	   =15(10)  //二进制转换为十进制
二进制的权(2^n)=...... 128 64 32 16  8 4 2 1	   
						   1  0  0  0 0 0 1
同理:1000001(2)=64+1=65(10)  //根据二进制的位数来对应权数,可以直接得出结果。
	11000001(2)=128+64+1=193(10)
	  
65(10)转换为二进制:65减去比它小的二进制的最大权数,65-64=1,1只能再减去1,中间的都为0。即1000001	  
或者:65/2,不断求余,最后把余数的顺序倒过来即可。	  
15(10)=1*10+5*1=1*10^1+5*10^0=1111(2)
8 4 2 1
1 1 1 1
192(10)=11000000(2)


十六进制:0~9,a~f:0~15  (二进制的简写,a=10,b=11,c=12,...,f=15)
基数:16  权:16^2 16^1 16^0:256 16 1

41(16)=4*16^1+1*16^0=65(10)=1000001(2)


十六进制转换为二进制:4个为一个单位,8421规则;
4    1   (16)  //4减去8421中比它小(或者相等)的数,一直减到0;
8421 8421
0100 0001(2)


c0(16)=12*16+0*16=192(10)
c    0   (16)	//c=12,12-8=4,4-4=0;
8421 8421
1100 0000(2)

二进制转换为十六进制:8421规则;
1010 1010 1010 1010 
8421 8421 8421 8421
8+2=10,即a,所以1010101010101010(2)=aaaa(16)

1111 1111 1111 1111
8421 8421 8421 8421
8+4+2+1=15,即f,所以1111111111111111(2)=ffff(16)
		 */


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值