1 十进制转换二进制 eg:57 转为二进制 1.1 方法一: 除2 57/2 = 28....1 28/2 = 14....0 14/2 = 7....0 7/2 = 3....1 3/2 = 1....1 1/2 = 0....1 (商为0停止) 然后反过来:111001 1.2 方法二:找最大的2的次方 000000 最接近57最大的2的次方是2的(6-1)次方32,那第6个位置是1(100000), 57 - 32 = 25 最接近25最大的2的次方是2的(5-1)次方16,那第5个位置是1(110000),25 - 16 = 9 最接近9最大的2的次方是2的(4-1)次方8,那第4个位置是1(111000),9-8 = 1 最接近1最大的2的次方是2的(1-1)次方1,那第1个位置的是1(111001),1-1 = 0(结束) 所以是111001 2 二进制转换十进制 111001:2^(6-1) + 2^(5-1) +2^(4-1) + 2(1-1) = 32+16+8+1 = 57 3 八进制:适用于12位于36位计算机操作系统,标志的开头用0表示,用0-7的数字表示 4 十六进制:用0-9,ABCDEF表示,标志的开头用0x表示 十进制 二进制 八进制 十六进制 0 0000 0 0 1 0001 1 1 2 0010 2 2 3 0011 3 3 4 0100 4 4 5 0101 5 5 6 0110 6 6 7 0111 7 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 5 位运算 运算符 运算 实例 & 与运算 6&3=2 | 或运算 6|3=7 ^ 异或运算 6^3=5 ~ 反码 ~6=-7 << 左移 3<<2=12 3*2*2=12 >> 右移 3>>1 = 1 3/2 =1 <<< 无符号移 3>>>1 = 1 3/2 =1 5.1 & :两个都是1,才是1否则为0 0010 &1111 = 0010 5.1.1 作用1,清零:如果想让一个单元为0,即使其全部二进制为0,只要与一个各位都为0的数值相与,结果为0 5.1.2 作用2,取一个数中指定位:设X=10101110,取X的第4位,用X & 0000 1111 = 0000 1110即可得到 5.2 | :一个是1 就是1 1001 & 0110 = 1111 5.2.1 作用1,将某位变为1 :10001 0001 第2个变为1 ,10001 0001 | 0000 0010 = 10001 0011 5.3 ^ :两个相应位为“异”(值不同),则该位置为1,否则为0 :0^0= 0 0^1=1 1^0=1 1^1=0 5.3.1:用途1:使特定位翻转找一个数,对应X要反转的各位,该数对应位为1,其余为0,此数与X对应位异或即可。 例如:X=10101110,使X第4位反转,用X^0000 1111 = 10100001 .... 6 jdk中进制转换 //十进制转换其它进制 Integer.toBinaryString(122); //2进制转换,1111010 Integer.toOctalString(122); //8进制转换,172 Integer.toHexString(122); //16进制转换,7a //其他进制转换十进制 Integer.parseInt("1111010",2) //122 Integer.parseInt("172",8) //122 Integer.parseInt("7a",16) //122
4、进制
最新推荐文章于 2021-08-13 17:17:10 发布