// operators/BitManipulation.java// (c)2017 MindView LLC: see Copyright.txt// We make no guarantees that this code is fit for any purpose.// Visit http://OnJava8.com for more book information.// Using the bitwise operatorsimport java.util.*;public class BitManipulation {public static void main(String[] args) {Random rand = new Random(47);int i = rand.nextInt();int j = rand.nextInt();printBinaryInt("-1", -1);printBinaryInt("+1", +1);int maxpos = 2147483647;printBinaryInt("maxpos", maxpos);int maxneg = -2147483648;printBinaryInt("maxneg", maxneg);printBinaryInt("i", i);printBinaryInt("~i", ~i);printBinaryInt("-i", -i);printBinaryInt("j", j);printBinaryInt("i & j", i & j);printBinaryInt("i | j", i | j);printBinaryInt("i ^ j", i ^ j);printBinaryInt("i << 5", i << 5);printBinaryInt("i >> 5", i >> 5);printBinaryInt("(~i) >> 5", (~i) >> 5);printBinaryInt("i >>> 5", i >>> 5);printBinaryInt("(~i) >>> 5", (~i) >>> 5);long l = rand.nextLong();long m = rand.nextLong();printBinaryLong("-1L", -1L);printBinaryLong("+1L", +1L);long ll = 9223372036854775807L;printBinaryLong("maxpos", ll);long lln = -9223372036854775808L;printBinaryLong("maxneg", lln);printBinaryLong("l", l);printBinaryLong("~l", ~l);printBinaryLong("-l", -l);printBinaryLong("m", m);printBinaryLong("l & m", l & m);printBinaryLong("l | m", l | m);printBinaryLong("l ^ m", l ^ m);printBinaryLong("l << 5", l << 5);printBinaryLong("l >> 5", l >> 5);printBinaryLong("(~l) >> 5", (~l) >> 5);printBinaryLong("l >>> 5", l >>> 5);printBinaryLong("(~l) >>> 5", (~l) >>> 5);}static void printBinaryInt(String s, int i) {System.out.println(s + ", int: " + i + ", binary:\n " +Integer.toBinaryString(i));}static void printBinaryLong(String s, long l) {System.out.println(s + ", long: " + l + ", binary:\n " +Long.toBinaryString(l));}}/* Output: (First 32 Lines)-1, int: -1, binary:11111111111111111111111111111111+1, int: 1, binary:1maxpos, int: 2147483647, binary:1111111111111111111111111111111maxneg, int: -2147483648, binary:10000000000000000000000000000000i, int: -1172028779, binary:10111010001001000100001010010101~i, int: 1172028778, binary:1000101110110111011110101101010-i, int: 1172028779, binary:1000101110110111011110101101011j, int: 1717241110, binary:1100110010110110000010100010110i & j, int: 570425364, binary:100010000000000000000000010100i | j, int: -25213033, binary:11111110011111110100011110010111i ^ j, int: -595638397, binary:11011100011111110100011110000011i << 5, int: 1149784736, binary:1000100100010000101001010100000i >> 5, int: -36625900, binary:11111101110100010010001000010100(~i) >> 5, int: 36625899, binary:10001011101101110111101011i >>> 5, int: 97591828, binary:101110100010010001000010100(~i) >>> 5, int: 36625899, binary:10001011101101110111101011...*/
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。