Ponto de conhecimento básico
IP-> Inteiro:
Converta o endereço IP em matriz de bytes através do turno esquerdo (<<), (&) ou (|) essas operações para int para int
Inteiro-> IP:
Operação de mudança direita (>>>), mude a direita para 24 bits e execute o operador (&) 0xff.
Operação de mudança direita (>>>), desligue 16 bits à direita e execute o operador (&) 0xFF.
Operação de mudança direita (>>>), mova para a direita de 8 bits e execute o operador (&) 0xff.
O valor inteiro é realizado com o operador (&) 0xff, e o número obtido é o IP do quarto estágio.
Pensamento
Endereço IP para Int Type, por exemplo, o IP é "192.168.1.116", que é equivalente a ". 256, 1, e quando é complexo, é o mais rápido possível
Int tipo de endereço IP, idéias semelhantes, exceto o valor do peso, mas algumas operações de string
Código
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ath.h> #define len 16 typedef não assinado int uint; ) Retornar 0; = 0 && cur <= 255) {total += cur*pow (256, i);} i -; (char*str, int comece, int end) {int i, j; (str [i]! = str [j]) {str [i] = str [i] ^ str [j]; i] ^ str [j];}}} / *** string ipstan* / char*iptstr (iint iPint) {char*new = (char*) malloc (len); ); ; = 0; ed <len;) {while (ed <len && new [ed]! } Novo [len- 1] = '/0'; Scanf ("%s" S "%s ("%s scanf ("%s s"%s scanf ("%s s"%s scanf ("%s s.", ipstr)! = eof) {IPINT = IPTINT (IPSTR);