Основная точка знания
IP-> Integer:
Преобразовать IP -адрес в массив байтов через левую смену (<<), (&) или (|) Эти операции в Int в Int
Integer-> ip:
Операция правой сдвига (>>>), переключите право на 24 бита, а затем выполните оператор (&) 0xff.
Операция правого сдвига (>>>), сдвиг 16 битов вправо, а затем выполните оператор (&) 0xff.
Операция правой смены (>>>), перейдите вправо от 8 битов, а затем выполните оператор (&) 0xff.
Целое значение выполняется с помощью оператора (&) 0xff, а полученное число - это IP четвертой стадии.
Мышление
IP -адрес в тип Int, например, IP - «192.168.1.116», что эквивалентно «». 256, 1, и когда он сложный, это как можно скорее
Int type в IP -адрес, аналогичные идеи, за исключением значения веса, но некоторые строковые операции
Код
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define len 16 typedef unsigned int uint; ) Return 0; = 0 && cur <= 255) {total += cur*power (256, i);} i -; (char*str, int begin, int end) {int i, j; I ++, j -) {if (str [i]! = Str [j]) {str [i] = str [i] ^ str [j]; ]; (Новый, '/0', Len); Токен, «%d», cur); -1); Ed += 1; %s Scanf («%s Scanf («%s »%s Scanf («%s »%s scanf («%s scanf («%s»%s («%s s»%s ("%s s s s s s s s s s s s s s s s s s s s s s s s s s scanf ("%s "%s ("%s s s s s С 0;}