#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

難道我以前都存錯了= =

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 henry720303 的頭像
    henry720303

    只要我邁步向前走 幸福就會跟著我

    henry720303 發表在 痞客邦 留言(2) 人氣()