/** * 强制类型转换中的补码、反码、原码一搞清楚 */ 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
时间: 2024-10-19 14:56:55