我们将char数组中的值拼接为一个数值:
以ipV4为例:
char ch[4] = {0xC0,0xA8,0x01,0x02 };//192.168.1.2
将该字符数组拼接为一个int值。
int ip = ch[0]<<24 +ch[1]<<16 +ch[2]<<8+ch[3]; //0xC0A80102
或者
int ip = ch[0]*0x1000000+ch[1]*0x10000+ch[2]*0x100+ch[3];//左移一位相当于乘以2
总结:
1)在从char[] 转换为int的过程中,我们并没有考虑字节序,即:我们并不需要考虑他在内存中是如何存储的。所见即所得。
2)当用十进制数表示一个2的幂次数的时候,此时用十六进制表示更方便。