网络id是前二十四位,主机id是最后八位。
因为子网掩码前二十四位为一,标志前二十四位为网络号

解决方案 »

  1.   

    我又听说网络ID是这么算的,把IP与子网掩码进行与运算,得到的非0部分为网络ID
    不知到底应该是哪个,这两种说法好象有些矛盾
      

  2.   

    那到底怎么根据IP和子网掩码来计算网络ID、主机ID和广播地址呢?
      

  3.   

    比如说吧,如果给一个b类地址,172.16.x.x
    如果子网掩码为255.255.192.0
    则可用的子网数为二,而可用的主机数为16382
    如果子网掩码为255.255.255.224呢,则可用的子网数为2046,每子网可用的主机数为30
      

  4.   

    子网掩码有两个作用一是用来区分IP地址中网络号和主机号,他和IP地址的关系是AND关系,例如IP为192。168。0。1 ,它是属于IP地址中的C类地址的,而子网掩码是255。255。255。0,他们相ADN,就是到,IP地址的网络号为192。168。0,主机号为1。默认的子网掩码是A类IP地址为255。0。0。0,B类为255。255。0。0,C类为255。255。255。0,利用子网掩码可以判断两台主机是不是在同一网络内。
    第二个作用是可将你的网络分成多个以IP路由器连接的子网。你自己可以看看有关这方面的书。
      

  5.   

    我现在的问题是计算网络ID、主机ID和广播地址
    请看:http://www.csdn.net/expert/topic/331/331829.shtm
      

  6.   

    不用自己算这么麻烦,网上有很多小工具可以帮你算的。到cisco这些公司的网站上搜索一下吧
      

  7.   

    to cobi(小新国际):
    但是是要编程实现啊,程序里面要用
      

  8.   

    to forulong(龙行天下):
    如果分成了几个不同的小的子网,还是要先计算网络ID的啊
      

  9.   

    vc下的有专门的函数得到这两个值
    查一下msdn吧
    好像是GetXXXbyXXX
      

  10.   

    show you an example:
    假设我有一个c类地址192.168.125.0,是一个基地址,用于路由计算。
    现对其分子网:分成六个子网:则需8位主机地址中的前三位来建造六个
    唯一的二十七位网络id。则子网掩码为:11111111,11111111,11111111,11100000
    这样有:
    网号# 11000000,101010001,01111101,000 00000
                                         001 00000
                                         010 00000
                                         011 00000
                                         100 00000
                                         101 00000
                                         110 00000
                                         111 00000
    去掉不可用的网络id扩展号为111和000 的首位两个子网网络id,可用的
    是中间的六个id,然后呢,每个id最后五位用于设置主机id,但不可设为
    11111,因为约定主机id全一,则子网id与主机id合成该子网的广播地址。
      

  11.   

    不能说“把IP与子网掩码进行与运算,得到的非0部分为网络ID”吧?应该还是先根据子网掩码确定网络号的位数,在进行与运算,才能得到正确的网络号!
      

  12.   

    192开始的是C类地址,C类地址前三个是网络地址,后一个是主机地址
    另第一个数1-61为A类,62-191为B类
    A类前一个是网络地址,后三个是主机地址
    B类前两个是网络地址,后两个是主机地址
      

  13.   

    192.168开头的ip是假ip,所以你要算的要以你的所在的服务气为标准
      

  14.   

    显然,你这是个A类地址,那么主机ID是41,网络ID是192.168.0,应该没有错啊
      

  15.   

    是的
    各位能否给个函数?
    BOOL GetBroadCast(char * szBroadCast,int iBufLen)
      

  16.   

    11111111,11111111,11111111,00000000 = 255.255.255.  0
    and
    11000100,10101000,00000000,00101001 = 196.168.  0. 41
    =
    11000100,10101000,00000000,00000000 = 196.168.  0.  0