Java/Script
비트연산자
CleanSense
2018. 2. 10. 14:29
728x90
코드설명 : 비트연산자
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | int num; & (And) 연산 -> & | 0 | 1 | ---------------------------- 0 | 0 | 0 | ---------------------------- 1 | 0 | 1 | num = 0xD3 & 0xF0; // 11010011 & 11110000 => 11010000 0xD0 System.out.println("0xD3 & 0xF0 = " + num); // 0xD3 & 0xF0 = 208 System.out.printf("0x%x \n", num); // 0xd0 System.out.printf("%d \n", num); // 208 | (Or) 연산 -> | | 0 | 1 | ---------------------------- 0 | 0 | 1 | ---------------------------- 1 | 1 | 0 | num = 0xD3 | 0xF0; // 11010011 | 11110000 => 11110011 0xF3 System.out.println("0xD3 | 0xF0 = " + num); // 0xD3 | 0xF0 = 243 ^ (Xor) 연산 -> ^ | 0 | 1 | ---------------------------- 0 | 0 | 1 | ---------------------------- 1 | 1 | 0 | num = 0xD3 ^ 0xF0; // 11010011 ^ 11110000 => 00100011 0x23 System.out.println("0xD3 & 0xF0 = " + num); // 0xD3 & 0xF0 = 35 ~연산 -> 0->1, 1->0 으로 꾸는 연산 // 0x55 => 01010101 ~0x55 => 10101010 0xAA num = ~0x55; System.out.println("num = " + num); // num = -86 System.out.printf("0x%x \n", num); // 0xffffffaa System.out.printf("%d \n", num); // -86 // Left Shift 기호는 << // 0000 0001 => 1 // 0000 0010 => 2 // 0000 0100 => 4 // 0000 1000 => 8 byte b1; b1 = 0x1 << 3; // 레프트쉬프트를 3번하세요 System.out.println("b1 = " + b1); // b1 = 8 // Right Shift 기호는 >> b1 = 0x8 >> 2; System.out.println("b1 = " + b1); // b1 = 2 | cs |
728x90