当前位置:编程学习 > VB >>

急!!各位高手帮帮忙!

个位高手您们好:
    小弟有个问题实在不能解决,想请您们帮帮忙。具体情况就是:想用VB做一个小工具,将随意输入的3个ip地址通过与运算汇总成一个。 --------------------编程问答-------------------- 啥意思? --------------------编程问答--------------------
引用楼主 qjhuxinlu 的帖子:
个位高手您们好: 
    小弟有个问题实在不能解决,想请您们帮帮忙。具体情况就是:想用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 ,  资源
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,