移位运算举例

我们将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的幂次数的时候,此时用十六进制表示更方便。


版权声明:本文为modi000原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。