赞
踩
即:两位同时为“1”,结果才为“1”,否则为0。
例如:
public static void main(String args[]) { System.out.println( 7 & 9); /* * 7的二进制 * 7/2=3...1 * 3/2=1...1 * 1/2=0...1 * 直到商为0,将余数倒过来就是111 * 于是得数是111 */ /* * 9的二进制 * 9/2=4...1 * 4/2=2...0 * 2/2=1...0 * 1/2=0...1 * 于是得数是1001 */ /* * 7二进制 0111 * 9二进制 1001 * ------------ * 0001 ==1 */ }
即 :参加运算的两个对象只要有一个为1,其值为1。
例如:
public static void main(String args[]){
System.out.println(7 | 9);
/*
* 7二进制 0111
* 9二进制 1001
* -----------
* 1111 == 15
* */
}
即:参加运算的两个对象,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。
例如:
public static void main(String args[]){
System.out.println( 7 ^ 9);
/*
* 7二进制 0111
* 9二进制 1001
* ------------
* 1110 == 14
/
}
// 十进制转二进制 9/2=4...1 4/2=2...0 2/2=1...0 1/2=0...1 正数9(二进制为:1001)在内存中存储为01001,必须补上符号位(开头的数字0为符号位)。 转二进制:0 1001 计算补码:0 1001 按位取反:1 0110 (变成补码,这明显变成了一个负数补码,因为符号位是1) 补码减1 :1 0101 在取反 :1 1010 符号位为1是负数,即-10 // 二进制转十进制 /* * 二进制转为十进制要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。 * 如果首位是0就表示正整数,如果首位是1则表示负整数,正整数可以直接换算,负整数则需要先取反再换算。 * 因为计算机内部表示数的字节单位是定长的。 如8位、16位、32位 **/ // 首位1表示负数 1010转十进制(1*2^3+0*2^2+1*2^1+0*2^0=10),所以取反为-10
// 十进制转二进制
-1/2=0...1
负数-1(二进制为:0001)在内存中存储为10001,必须补上符号位(开头的数字1为符号位)。
-1的反码为11110
-1的补码为11111 (也可以理解为:反码末位加上1就是补码)
~-1的取反 0 0000
~-1结果为:0
// 二进制转十进制
/*
* 二进制转为十进制要从右到左用二进制的每个数去乘以2的相应次方,小数点后则是从左往右。
* 如果首位是0就表示正整数,如果首位是1则表示负整数,正整数可以直接换算,负整数则需要先取反再换算。
* 因为计算机内部表示数的字节单位是定长的。 如8位、16位、32位
**/
// 首位是0 表示为正数 0
例1:
public static void main(String args[]){
System.out.println(~7);//正数
/*
* 7二进制 0000 0000 0000 0000 0000 0000 0000 0111
* 0000 0000 0000 0000 0000 0000 0000 0111 反码
* 0000 0000 0000 0000 0000 0000 0000 0111 补码
* 1000 0000 0000 0000 0000 0000 0000 1000 得到正数的补码之后进行取反 (这时得到的是负数)符号位为: 1
* 所以~7的值为:-8
*/
}
例2:
public static void main(String args[]){
System.out.println(~-1);//负数
/*
* -1二进制 1000 0000 0000 0000 0000 0000 0000 0001
* 1000 0000 0000 0000 0000 0000 0000 1110 反码(负数的反码是:符号位为1,其余各位求反,但末位不加1。)
* 1000 0000 0000 0000 0000 0000 0000 1111 补码(负数的补码是:符号位不变,其余各位求反,末位加1 。)
* 0000 0000 0000 0000 0000 0000 0000 0000 得到负数的补码之后进行取反 (这时得到的是正数) 符号位为: 0
* 所以~-1的值为:0
*/
}
https://www.sojson.com/hexconvert/2to10.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。