IPV4掩码后地址计算
程序员文章站
2024-02-14 15:13:52
...
计算掩码后IP地址
template<class T>
class SingleInstance {
public:
static inline T instance() {
static T obj;
return obj;
}
private:
SingleInstance() = default;
~SingleInstance() = default;
};
#include <stdint.h>
#include "single_instance.hpp"
class net_utility {
public:
inline uint64_t get_mask(uint64_t ip, int mask) {
if (ip > 0xFFFFFFFF) {
return 0;
}
if (mask <= 0 || mask > 32) {
return 0;
}
return ip & ((0xFFFFFFFF << (32 - mask)));
}
};
#define G_NET_UTILITY SingleInstance<net_utility>::instance()
#include <iostream>
#include "net_utility.hpp"
int main(int argc, const char** argv) {
uint64_t ip = 168432899;
int mask = 24;
uint64_t rs = G_NET_UTILITY.get_mask(ip, mask);
std::cout << rs << std::endl;
return 0;
}
上一篇: MVC架构的理解
下一篇: Qt获取本机IPV4 IP地址