首页 > 代码库 > java中强制类型转换时,高位数截取成低位数的方法

java中强制类型转换时,高位数截取成低位数的方法

	/**
	 * 强制类型转换中的补码、反码、原码一搞清楚
	 */
	int b=233;//正整数强转
	System.out.println((byte)b);
	//负数:原码的绝对值取反再加一      符号为不变
	//00000000 00000000 00000000 11101001
	//  1110 1001   补码
	//  1110 1000   反码
	//  1001 0111  原码    1+2+4+16 =-23
	
	
	b=-233;//负整数强转
	//10000000 00000000 00000000 11101001  补码
	//10000000 00000000 00000000 11101000  反码
	//11111111 11111111 11111111 00010111  原码
	//0001 0111 截取低八位     1+2+4+16= 23 
	System.out.println((byte)b);
	
	//位运算   不知道
	int b2=10;
	System.out.println(~b2);
	//0000 1010
	//1111 

  

java中强制类型转换时,高位数截取成低位数的方法