急!!各位高手帮帮忙!
个位高手您们好:小弟有个问题实在不能解决,想请您们帮帮忙。具体情况就是:想用VB做一个小工具,将随意输入的3个ip地址通过与运算汇总成一个。 --------------------编程问答-------------------- 啥意思? --------------------编程问答--------------------
ip地址只是一个32位整数而已, 直接把这3个32位整数与运算之后再拆开4段就可以了
--------------------编程问答-------------------- 把这几个网络地址展开为2进制的,然后看相同的网络位,连续而且相同的网络位就是这几个网络地址的汇总地址了,例如:
172.168.4.1/24
172.168.5.1/24
172.168.6.1/24
172.168.7.1/24
这几个地址展开来是:
10101100.10101000.00000100.00000001
10101100.10101000.00000101.00000001
10101100.10101000.00000110.00000001
10101100.10101000.00000111.00000001
他们都有相同的前22位,所以汇总地址就是172.168.4.0/22
--------------------编程问答-------------------- 172.168.4.1 是ip
怎么这个/24 也算? --------------------编程问答-------------------- 算ip这样
Private Sub Command1_Click()
Dim str1() As String
Dim str2() As String
Dim str3() As String
Dim strAnd(3) As String
str1 = Split(Text1.Text, ".")
str2 = Split(Text2.Text, ".")
str3 = Split(Text3.Text, ".")
For i = 0 To 3
strAnd(i) = str1(i) And str2(i)
strAnd(i) = strAnd(i) And str3(i)
Next i
Debug.Print Join(strAnd, ".")
End Sub
--------------------编程问答-------------------- 按你的例子应该是172.168.4.0/2 才对
--------------------编程问答-------------------- 晕
前面相同有22位就写“/22”
那“/24”又当什么讲? --------------------编程问答-------------------- 楼主大概是5楼这个意思. --------------------编程问答--------------------
补充:VB , 资源