Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- char* encodecode(char* str, char key)
- {
- char* start{ str };
- while (*str)
- {
- *str ^= key; //*str = *str ^ key
- ++str;
- }
- return start;
- }
- uint8_t maskLength(uint8_t mask)
- {
- uint8_t maskLength{ 0 };
- uint8_t maskShift{ mask };
- while (maskShift)
- {
- maskShift <<= 1; // maskShift = maskShift << 1
- ++maskLength;
- }
- return maskLength;
- }
- int main()
- {
- //uint8_t byteA{ 0b01010101 };
- //uint8_t byteB{ 0b10011110 };
- //uint8_t byteRes{ 0 };
- //// 0b01010101
- //// 0b10011110
- ////
- //// 0b11001010
- //// 0b10011110
- ////
- //// 0b01010101
- //// 0b01010101
- //byteRes = byteA ^ byteB;
- //
- //std::cout << +byteA << '\n';
- //std::cout << +byteRes << '\n';
- //byteRes = byteRes ^ byteB;
- //std::cout << +byteRes << '\n';
- //char str[]{ "Some top secret message about this summer! :(" };
- //std::cout << "Original str:\n";
- //std::cout << str << '\n';
- //std::cout << "\nEncoded str:\n";
- //std::cout << encodecode(str, 'G') << '\n';
- //std::cout << "\nDecoded str:\n";
- //std::cout << encodecode(str, 'q') << '\n';
- // 192.168.[00001 010].2/21
- // 192.168.10.2/21
- //
- // 255.255.255.0
- uint8_t ipA{ 0b10100001 };
- uint8_t ipB{ 0b10100101 };
- uint8_t ipC{ 0b11100001 };
- uint8_t ipD{ 0b11101101 };
- uint8_t mask{ 0b11110000 };
- // mask
- // 0b11110000
- // 0b00001111
- // ipA
- // 0b10100001
- // 0b00001111
- // 0b00000001
- std::cout << +maskLength(mask) << '\n';
- uint8_t netA = ipA >> maskLength(mask);
- uint8_t hostA = ipA & (~mask);
- uint8_t netB = ipB >> maskLength(mask);
- uint8_t hostB = ipB & (~mask);
- uint8_t netC = ipC >> maskLength(mask);
- uint8_t hostC = ipC & (~mask);
- uint8_t netD = ipD >> maskLength(mask);
- uint8_t hostD = ipD & (~mask);
- std::cout << +ipA << ' ' << +netA << ' ' << +hostA << '\n';
- std::cout << +ipB << ' ' << +netB << ' ' << +hostB << '\n';
- std::cout << +ipC << ' ' << +netC << ' ' << +hostC << '\n';
- std::cout << +ipD << ' ' << +netD << ' ' << +hostD << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement