avr39ripe

bitOperationIPAddrTask

Feb 4th, 2021
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5.     // 0xffff
  6.     // hex system 0..9, a - 10 b - 11 c -12 d -13 e -14 f -15
  7.     // ff -> f * 16 ^ 0 + f * 16 ^ 1 = 15 + 240 = 255
  8.     //uint8_t byte{0x1a}; // 16^0 * a + 16^1 * 1 = 1 * 10 + 16 * 1 = 10 + 16 = 26
  9.     //uint8_t byte{ 0b1111 }; // (1 * 2 ^ 0) + (1 * 2 ^ 1) + (1 * 2 ^ 2) + (1 * 2 ^ 3) = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15
  10.  
  11.     // ~ - bitwise NOT - unary op
  12.     // << - bitwise shift left - binary op
  13.     // >> - bitwise shift right - binary op
  14.     // | - bitwise OR - binary op
  15.     // & - bitwise AND - binary op
  16.     // ^ - bitwise XOR - binary op
  17.  
  18.     // <<= a = a << 1 -> a <<= 1
  19.     // >>= a = a >> 4 -> a >>= 4
  20.     // |= a = a | b -> a |= b
  21.     // &= a = a & 0b0101 -> a &= 0b0101
  22.     // ^= a = a ^ 42 -> a ^= 42
  23.  
  24.     // /4
  25.     uint8_t ip1{ 0b01100111 };
  26.     uint8_t ip2{ 0b01101101 };
  27.     uint8_t ip3{ 0b10100111 };
  28.     uint8_t ip4{ 0b01101110 };
  29.  
  30.     uint8_t mask{ 0b11110000 };
  31.  
  32.     uint8_t host;
  33.     uint8_t net;
  34.  
  35.  
  36.     uint8_t byte{ 0b1010 }; // 0b00000000
  37.     uint8_t mask{ 0b0110 };
  38.  
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment