IP地址与子网掩码做逐位与运算
来源:互联网 发布:台湾中视直播软件 编辑:程序博客网 时间:2024/06/05 02:14
在写简单路由器程序的时候,需要将捕获的IP数据报中的目的IP地址与每一个路由表项中的子网掩码作逐位与运算再与对应的目的IP地址作比较。
作逐位与运算有两种比较简单的方式
1. 移位
unsigned long IPandMask(unsigned long ul_ip, unsigned long ul_mask){ unsigned long result = 0; for (int i = 31; i >= 0; i--) { result = (result << 1) + (((ul_ip >> i) & 1) & ((ul_mask >> i) & 1)); } return result;}
2. 使用bitset
#include <bitset>unsigned long IPandMask(unsigned long ul_ip, unsigned long ul_mask){ bitset<32> ip(ul_ip); bitset<32> mask(ul_mask); bitset<32> result; result = ip & mask; return result.to_ulong();}
1 0
- IP地址与子网掩码做逐位与运算
- IP 地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- 通过IP地址和子网掩码与运算计算相关地址
- 通过IP地址和子网掩码与运算计算相关地址
- 通过IP地址和子网掩码与运算计算相关地址
- 通过IP地址和子网掩码与运算计算相关地址
- 通过IP地址和子网掩码与运算计算相关地址
- Android绘图Canvas十八般武器之Shader详解及实战篇(上)
- 局域网连接sql--SQL Server 2008
- javascript笔记:自己写一个jqgrid框架(一)
- 机器学习入门(14)--逻辑回归(2)
- Linux Centos 迁移Mysql 数据位置
- IP地址与子网掩码做逐位与运算
- Caused by: java.io.FileNotFoundException: class path resource [applicationContext.xml] cannot be ope
- ViewGroup和View以及TouchDelegate的触摸事件源码简析
- 构建故障隔离的架构
- spark与kafka连接测试
- VS13里写C遇到的一些问题
- 字符反转
- BZOJ2748(DP)
- RecyclerView简单解析