#include <arpa/inet.h> //inet_addr()
int address =0;
address = 1; //00000000 00000000 00000000 00000001 (0x00000001)
printf("%d\n",address); //1
address <<= 8; //00000000 00000000 00000001 00000000
printf("%d\n",address); //256
address <<= 8; //00000000 00000001 00000000 00000000
printf("%d\n",address); //65536
address <<= 8; //00000001 00000000 00000000 00000000
printf("%d\n",address); //16777216
address = inet_addr("0.0.0.1"); //1677216
printf("%d\n",address); //0x01000000
address = inet_addr("0.0.1.0"); //65536
printf("%d\n",address); //0x00010000
address = inet_addr("0.1.0.0"); //256
printf("%d\n",address); //0x00000100
address = inet_addr("1.0.0.0"); //1
printf("%d\n",address); //0x00000001
這代表著我以前對於adress的存法是錯的嗎?
inet_addr的存法是假如一個ip address是1.2.3.4
它會這樣存0x04030201
但我以前是存0x01020304
難道我以前都存錯了= =
留言列表