去google搜索一下子网掩码吧
计算不是很复杂

解决方案 »

  1.   

    61.10001100.00000000.00000000
     ->   61.140.0.0/1461.10010000.00000000.00000000
     ->   61.144.0.0/1561.10010010.00000000.00000000
     ->   61.146.0.0/16
      

  2.   

    14, 15, 16分别指的是网络地址的长度。开始的IP是61.140.0.0(即:00111101.10001100.00000000.00000000), 所以如果你需要过滤出你的子网地址,mask 为00000000.00000011.11111111.11111111。你可以数一下,此时左边的0为14个。你用这个就可以得到你的子网地址了。因为终点地址是61.10010010.11111111.11111111(00111101。10010010。11111111。11111111)。所以此时mask是00000000.00000000.11111111.11111111).即61.146.0.0/16。16指的是左边0的个数。15是当IP地址为61.145.***.***时,mask应该为15。我的回答应该算详细了吧。
      

  3.   

    manonroad(唧唧嘎嘎) ,你好!61.145.0.0
    61.10010001.00000000.00000000的掩码为什么是15?用你给的方法,怎么计算这个呢?起始地址59.32.0.0
    00111011.00100000.00000000.00000000终止地址59.42.255.255
    00111011.00101010.11111111.11111111正确答案:
    59.32.0.0/13
    59.40.0.0/15
    59.42.0.0/16
      

  4.   

    我写了程序,核心算法如下,大家帮我看看,谢了!
    //核心
    while(reader.Read())//循环读取记录集
    {     
         StartAddr=reader["start_ip"].ToString();//起始IP
         EndAddr=reader["end_ip"].ToString();//终止IP
         TempAddr=StartAddr;
         while(!CheckEqual(TempAddr,EndAddr))//中止条件为TempAddr和EndAddr相等
         {
    counter=0;
    StartAddrF1=FFirst1(StartAddr);//从左往右数,最后一个1的位数
    TempAddr=Change10(StartAddr,StartAddrF1+1,32);//将StartAddr后面的所有0置为1
    while(CheckBigOne(TempAddr,EndAddr))//如果大于终止IP,则循环
    {
        counter++;//计数器,记录变更的次数
        TempAddr=Change10(TempAddr,StartAddrF1+counter,StartAddrF1+counter);
    } SubNum=StartAddrF1+counter;//子网掩码
    m_streamWriter.WriteLine ("      "+StartAddr+"/"+SubNum.ToString());//输出到文件
    Console.WriteLine("      "+StartAddr+"/"+SubNum.ToString());//输出到控制台
            StartAddr=Add1(TempAddr);
        }
    }
      

  5.   

    没有绝对的长度,主要是要看你需要怎么样划分子网。
    比如一个c类地址你可以分为4个子网
    子网掩码为255.255.255.192,每个子网的ip范围可以是0-63,64-127,128-191,192-255
      

  6.   


    哈哈,是我一时笔误。
    应为61.144.0.0/15.还是应该把所有的IP地址一段一段地排列出来,然后找到用合适mask找出相应的子网号。我的答案写出来是一样的同楼上。关键就是怎样能够取出子网号。因为在网络里先是寻找网络号,找到相应的网络后根据子网掩码找到相应的host。原理就是网络地址与掩码相与的到子网号。前面的连0过滤掉网络号,剩下自然就是子网号了。
      

  7.   

    起始地址 61.140.0.0 
             61.10001100.00000000终止地址 61.146.255.255 
             61.10010010.11111111.11111111 正确答案: 61.140.0.0/14 
               61.144.0.0/15 
               61.146.0.0/16
    ------------------------------------------------〉
    我想61.140.0.0
               61.144.0.0 
               61.146.0.0
    这三个地址肯定是已知的,要你求出子网掩码。这三个地址意思是61.140.0.0~61.143.255.255是一个网段(即一个子网)。类似的,61.144.0.0 ~61.145.255.255也是一个子网。
    要求的就是怎样区分不同子网:
    第一段:00111101.10001100.00000000.00000000~
            00111101.10001111.11111111.11111111
            显然,要想分辩出哪些ip是此子网的,只要与11111111.11111100.00000000.00000000作与运算即可。(也就是说,此网段可以容纳2的18次方减2的ip地址)
    第二段分析类似。
      

  8.   

    AllenTing(我爱吃醋),你好!61.140.0.0/14 
    61.144.0.0/15 
    61.146.0.0/16
    都是计算出来的。