如何在C中存储二进制数

时间:2015-12-02 03:09:06

标签: c

我需要获取IP地址并获取其子网。目前我正在考虑将IP转换为二进制数,然后在其上使用逐位AND运算符和表示子网掩码的二进制数。但是我不确定如何存储这些二进制数。它们不是int,char,long等。那么什么样的变量存储二进制数?

2 个答案:

答案 0 :(得分:2)

所有整数实际上都存储为二进制。您可以简单地将8位整数值存储在unsigned char变量中,并对这些值使用按位运算。

答案 1 :(得分:1)

首先,您需要将IP转换为数字。适合的数据类型是32位数字。如果您使用的是32位编译器,那么int就可以了。

然后,您只需要使用子网掩码AND int。忘记转换为二进制。计算机将所有信息(包括数字)存储在中,因此所有数字都已在计算机内以二进制形式表示。

所以,你所看到的" 12"源代码中的(十进制)内部表示为" 1100" (以二进制形式表示),随时可以AND编辑AND

相关问题