C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – IP地址左移表示大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一些陈旧的和坏的C代码发现了以下内容

#define addr (((((147 << 8) | 87) << 8) | 117) << 8) | 107

它是什么?嗯,我知道它是一个IP地址 – 向左移8位也是有道理的.但任何人都可以向我解释这个问题吗?那里发生了什么?

谢谢!

解决方法

代码

(((((147 << 8) | 87) << 8) | 117) << 8) | 107

生成包含IP 147.87.117.107的4个字节.
第一步是最里面的括号:

147<<8
147 = 1001 0011
1001 0011 << 8 = 1001 0011 0000 0000

通过按位或操作(147 << 8)插入第二字节87.如您所见,右侧的8位全部为0(由于<<<<<<<<<<<<<<<<<<<<&#8)

1001 0011 0000 0000  (147<<8)
0000 0000 0101 0111  (87)
-------------------  bitwise-or
1001 0011 0101 0111  (147<<8)|87

使用rest也是如此,因此最后将4个字节保存到一个32位整数中.

大佬总结

以上是大佬教程为你收集整理的c – IP地址左移表示全部内容,希望文章能够帮你解决c – IP地址左移表示所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。