【问题标题】:Python: Convert Networks bits to BinaryPython:将网络位转换为二进制
【发布时间】:2025-12-18 10:35:01
【问题描述】:

所以我想将网络位(CIDR)转换为二进制

我试图在谷歌上搜索,但它什么也没给我,只给我 ipcalculator 和其他东西

但我读了一些文章,告诉我如何将十进制转换为二进制

问题是我需要弄清楚如何将网络位更改为十进制

for example i use 28(/28) the netmask should be 255.255.255.240 i just want to use the 240
so that i can convert it to binary it should give me 11110000

我试图在谷歌上查找如何做到这一点,但只告诉我如何将二进制转换为十进制

谁能给我一个链接或教我怎么做

或者有另一种方法,比如我不必将网络位转换为十进制

我会不断更新我的进度

【问题讨论】:

  • 我现在尝试使用 list、array 和 dict 方法,所以我不必将网络位转换为十进制
  • IPv4 掩码和 IPv4 地址一样,实际上是一个 32 位无符号整数,点分十进制表示法只是为了便于人类阅读。八位字节没有意义。您可以将掩码设置为0xffffffff 并将其向左移动(32 - length) 次,然后将其转换为二进制字符串,对于28 的掩码长度,您将得到0b11111111111111111111111111110000。此时,您可以获取字符串的任何部分,例如,最后八个字符将是掩码的最后一个八位字节。

标签: python networking binary converters subnet


【解决方案1】:

试试这个:

mask = "255.255.255.240"
#Last_char takes the last 3 digits of ur mask
last_char = int(mask[-3])
#Then it converts it to binary
dec_to_bin = bin(last_char)
#There is the result
print (dec_to_bin)

输出应该是:0b10

【讨论】:

  • 如果我的回答有帮助请告诉我@Zaxmittas