精华内容
下载资源
问答
  • 最近遇到了一个项目,将子网掩码转换成多少个 1 位表示。... 由于子网掩码只能是左边连续为 1 的二进制数组成(128/192/224/240/248/252/254/255),就按照逻辑写了将 子网掩码转换成十进制数表示的。 ...

           最近遇到了一个项目,将子网掩码转换成多少个 1 位表示。例如: 将 IP : 10.110.133.65 ,子网掩码表示为: 255.255.254.0  表示成 : 10.110.133.65/24

           由于子网掩码只能是左边连续为 1 的二进制数组成(128/192/224/240/248/252/254/255),就按照逻辑写了将 子网掩码转换成十进制数表示的。

            此程序仅提供参考。

          maskToOneP(mask){
            let maskArr = mask.split(".")
            let result = 0;
            for(let index = 0;index < 4;index++){
              if(maskArr[index] == 255){
                result = result + 8;
                continue;
              }
              let binaryValue = this.binary(maskArr[index])
              result = result + binaryValue
              if(binaryValue != 8){
                break
              }
            }
            return result;
          },
          binary(number){
            let bValue = parseInt(number).toString(2);
            let size = bValue.length;
            let result = 0;
            for(let index =0; index < size;index++){
              if(bValue[index] == 0){
                break
              }
              result = result + 1
            }
            return result;
          }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 二进制转十进制

    2018-12-07 19:15:09
    主要讲述IP地址,子网掩码二进制转十进制,十进制转二进制
  • void dec_to_binary_str(int n, char *szOutBuf,int iOutBufLen) { int r = n % 2; if (n >= 2) { dec_to_binary_str(n / 2, szOutBuf, iOutBufLen); } if (strlen(szOutBuf)<... szOutBuf[strlen(szOutBuf...

    void dec_to_binary_str(int n, char *szOutBuf,int iOutBufLen)
    {
        int r = n % 2;
        if (n >= 2)
        {
            dec_to_binary_str(n / 2, szOutBuf, iOutBufLen);
        }
        if (strlen(szOutBuf)<iOutBufLen-1)
        {
            szOutBuf[strlen(szOutBuf)] = '0' + r;
        }
        return;
    }

    展开全文
  • # 子网掩码地址长度 def netmask_to_bit_length(netmask): """ >>> netmask_to_bit_length('255.255.255.0') 24 >>> """ # 分割字符串格式的子网掩码为四段列表 # 计算二进制字符串中 '1...
    # 子网掩码地址转长度
    def netmask_to_bit_length(netmask):
        """
        >>> netmask_to_bit_length('255.255.255.0')
        24
        >>>
        """
        # 分割字符串格式的子网掩码为四段列表
        # 计算二进制字符串中 '1' 的个数
        # 转换各段子网掩码为二进制, 计算十进制
        return sum([bin(int(i)).count('1') for i in netmask.split('.')])
    
    # 子网掩码长度转地址
    def bit_length_to_netmask(mask_int):
        """
        >>> bit_length_to_netmask(24)
        '255.255.255.0'
        >>>
        """
        bin_array = ["1"] * mask_int + ["0"] * (32 - mask_int)
        tmpmask = [''.join(bin_array[i * 8:i * 8 + 8]) for i in range(4)]
        tmpmask = [str(int(netmask, 2)) for netmask in tmpmask]
        return '.'.join(tmpmask)
    
    
    
    if __name__ == '__main__':
        print netmask_to_bit_length('255.255.255.0')
        print bit_length_to_netmask(23)
    
    展开全文
  • java实现子网掩码转换为网络标识位

    千次阅读 2017-12-14 18:54:10
    子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识... 通过 IP 地址的二进制子网掩码二进制进行与运算,确定某个设备的网络地

    子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

     

    子网掩码的作用

      通过 IP 地址的二进制与子网掩码的二进制进行与运算,确定某个设备的网络地址和主机号,也就是说通过子网掩码分辨一个网络的网络部分和主机部分。子网掩码一旦设置,网络地址和主机地址就固定了。子网一个最显著的特征就是具有子网掩码。与IP地址相同,子网掩码的长度也是32位,也可以使用十进制的形式。例如,为二进制形式的子网掩码:1111 1111、1111 1111、1111 1111、0000 0000,采用十进制的形式为:255.255.255.0。

     

    网掩码的表示方法  子网掩码通常有以下2种格式的表示方法:

      1. 通过与IP地址格式相同的点分十进制表示

      如:255.0.0.0 或 255.255.255.128

      2. 在IP地址后加上"/"符号以及1-32的数字,其中1-32的数字表示子网掩码中网络标识位的长度

      如:192.168.1.1/24 的子网掩码也可以表示为 255.255.255.0

     

     

    StringBuffer sbf;
            String str;
            String strip= "255.255.255.0";   //子网掩码
            int inetmask=0,count=0;       //子网掩码缩写代码
            def ipList=strip.split('//.');
             for(int n=0;n<ipList.size();n++)
               {

                        sbf = toBin(Integer.parseInt(ipList[n]));
                        str=sbf.reverse().toString();
                        println(ipList[n]+"---"+str);

                       //统计2进制字符串中1的个数
                       count=0
                       for(int i=0;i<str.length();i++){
                           i=str.indexOf('1',i);  //查找 字符'1'出现的位置                         
                           if(i==-1){break;}
                           count++;  //统计字符出现次数
                      }
                     inetmask+=count;
     
                }
           println "子网掩码缩写代码:"+inetmask;


      StringBuffer toBin(int x)
         {
           StringBuffer result=new StringBuffer();
            result.append(x%2);
            x/=2;
            while(x>0){
              result.append(x%2);
              x/=2;
            }
            return result;
         }

    展开全文
  • 子网掩码转换:长度点分10进制

    千次阅读 2012-06-01 10:23:55
    子网掩码常见的表示方法有两种: 一种用长度表示, 比如24, 表示掩码中含有二进制1的个数 一种用点分10进制表示,比如255.255.255.0   以下是我写的一个二者之间相互转换的函数,请参考:   ...
  • 子网掩码转换

    2017-07-13 09:21:00
    # coding:utf-8def exchange_mask(mask): """ 转换子网掩码格式 """ # 计算二进制字符串中 '1' 的个数 count_bit = lambda bin_str: len([i for i in bin_str if i=='1']) # 分割字符串格式的子网掩码为四段列表 ...
  • 目录一、IP地址二、IP地址分配三、字码掩码定义四、子网划分的必要性五、如何计算网络段总结 一、IP地址 IP地址=网络部分+主机部分 网络部分用来确定终端是不是在同一个...二进制数表示地址段 默认子网掩码 A 1
  • * 二进制(BIN): 1101=1*2^3+1*2^2+0*2^1+1*2^0=13D * 八进制(OTC): 53O=5*8^1+3*8^0 * 十六进制(HEX): 4DH=4*16*1+13*16^0 2.十进制十六进制 3.常用英语 4.IP * 32位二进制表示,为方便记忆用点...
  • 子网掩码

    2016-10-31 13:49:46
    子网掩码 将某个IP地址划分成网络地址和主机地址两部分...2)将二进制形式的ip地址与子网掩码做’与’运算,将答案化为十进制便得到网络地址;  3)将二进制形式的子网掩码取’反’;  4)将取’反’后的子网掩
  • 掩码位转换成子网掩码的Java实现

    千次阅读 2018-06-01 14:52:35
    例如192.168.11.130/31表示网络地址有31位,主机地址有1位,那么31对应的子网掩码就是255.255.255.254(31个1+0)计算掩码位,就是得到掩码位的二进制序列,然后每隔8位转换为十进制。Java的Integer.parseInt可以将...
  • 什么是子网掩码

    2020-03-31 22:28:09
    子网掩码是一种区分ip的网络码和主机码的手段, 网络码相同的设备可以互相通信。 怎么操作呢? 把ip地址从10进制转换为2进制, 如192.168.1.129 二进制为:1100 0000.1010 1000.0000 0001.1000 0001 把子网掩码从10...
  • ip地址及子网掩码换算,子网划分教程. 内容包括子网数计算,二进制转十进制,已知IP 地址,如何计算其子网掩码,默认网关地址,网络地址等。
  • 数制转换和子网掩码划分一、数制的基本概念1.1数制的概念1.2计算机中的常见数制1.2.1十进制1.2.2二进制1.2.3十六进制二、数制转换2.1 二、十进制的转换2.2 十、十六、二进制的转换三、子网掩码划分3.1 IP地址3.2IP...
  • 子网掩码计算

    2020-12-15 11:05:32
    子网掩码转换为二进制是11111111 11111111 11111111 10000000 可以看出,子网掩码中“1”对应部分为网络地址,即从主机域中借用了1位作为子网号,所以子网个数=2*1=2 3.主机数? 每个子网内表示主机的地址位为7位,...
  • IP及子网掩码

    2021-02-21 20:34:39
    2、任务所需知识点:二进制转换、使用子网掩码划分子网、通过子网掩码分配IP 学习中问题 通过子网掩码划分子网后,IP分配出现问题。没有完全弄懂子网掩码与IP地址关系,误以为IP需要与子网掩码完全相同,导致划分...
  • 目录学习目标一、IP地址1.1 IP地址的定义及分类1.1.1 IP地址的格式1.1.2 IP地址的分类1.1.3 Internet上的合法IP地址1.2 子网掩码二、数制2.1 常用数制2.2 进制转换总结 学习目标 - 掌握数制转换方法 - 掌握IP地址的...
  • 2、其中23为子网掩码用“位数”的简写方式,意思是子网掩码二进制为从左到右23个1组成的二进制11111111.11111111.11111110.00000000,转换为十进制结果为255.255.254.0,并得出右侧为0的有9位可以表示主机段 ...
  • 由于子网掩码的位数决定于可能的子网数目和每个子网的主机数目。在定义子网掩码前,必须弄清楚本来使用的子网数和主机数目。 根据子网数 利用子网数来计算 在求子网掩码之前必须先搞清楚要划分的子网数目,...
  • 划分子网掩码实战

    2017-11-08 20:39:14
    实际项目:114.251.145.96 为其划分子网掩码 专线给提供了96-111 个IP 计算是16个 (计算方式111-96+1) 1. 二进制化十进制数 ...3) 2的4次方是16 ,可以看出主机位是4位,转换二进制可以 11110000 ,子网掩码
  • 子网和子网掩码分析

    2015-12-02 23:17:08
    是一个点分十进制结构,将32位的二进制数用句点.分成4部分,然后每部分转换成一个十进制数,每部分0~255   【子网和子网掩码】 -子网掩码也是由一组.分隔的4段数字组成,它可以用于定义一个IP地址所属的网络   ...
  • 子网掩码和IP地址运算

    千次阅读 2013-09-17 21:48:49
    计算:将IP地址和子网掩码转换为二进制的形式,然后进行“与”计算。得到网络号,也就是该子网的首地址。 一直纠结于为什么这么计算,现在整理下对这个计算的理解: 1、  首先是子网掩码可以根据子网中的主机数...
  • 子网掩码是一个应用于TCP/IP网络的32位二进制值,每节8位,必须结合IP地址对应使用。 子网掩码32位都与IP地址32位对应,如果某位是网络地址,则子网掩码为1,否则为0。 子网掩码可以通过与IP地址“与”计算,分离...
  • 子网掩码只要是合法的就可以 掩码位数与子网掩码的换算方式为: 子网掩码是0~32位,用二进制表示 比如位数是32位的,子网掩码就是255.255.255.255,转换成二进制数就是11111111 .11111111.11111111.11111111
  • 将ip地址与子网掩码转换成二进制;  2.将二进制形式的ip地址与子网掩码做'与'运算,将答案化为十进制便得到网络地址;  3.将二进制形式的子网掩码取'反';  4.将取'反'后的子网掩码与ip地址做'与'运算,将答案化为十...
  • 计算子网掩码: 1、利用子网数目计算子网掩码 把B类地址172.16.0.0划分成30个子网络,它的子网掩码是多少? ①将子网络数目30转换成二进制表示11110 ②统计一下这个二进制的数共有5位 ③注意:当二进制数中只有一个1...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 369
精华内容 147
关键字:

子网掩码转二进制