#P773. 子网掩码

    ID: 1200 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>位运算模拟IP地址子网掩码 CodesOnline基础

子网掩码

题目描述

子网掩码计算方法 

子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。

最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。

请看以下示例:

运算演示之一:aa 

I P 地址  192.168.0.1

子网掩码  255.255.255.0

AND运算

转化为二进制进行运算: 

I P 地址 11010000.10101000.00000000.00000001

子网掩码 11111111.11111111.11111111.00000000

AND运算

     11010000.10101000.00000000.00000000 

转化为十进制后为:

      192.168.0.0

运算演示之二:

I P 地址  192.168.0.254

子网掩码  255.255.255.0

AND运算

转化为二进制进行运算: 

I P 地址 11010000.10101000.00000000.11111110

子网掩码 11111111.11111111.11111111.00000000

AND运算

     11010000.10101000.00000000.00000000 

转化为十进制后为:

      192.168.0.0

运算演示之三:

I P 地址  192.168.0.4

子网掩码  255.255.255.0

AND运算

转化为二进制进行运算: 

I P 地址 11010000.10101000.00000000.00000100

子网掩码 11111111.11111111.11111111.00000000

AND运算

     11010000.10101000.00000000.00000000 

转化为十进制后为:

      192.168.0.0

通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到它运算结果是一样的。均为192.168.0.0

  所以计算机就会把这三台计算机视为是同一子网络。

输入格式

第一行是本机IP地址

第二行是子网掩码

第三行整数N,表示后面有N个IP地址

第1个IP地址

......

第N个IP地址

输出格式

计算并输出N个IP地址是否与本机在同一子网内。

对于在同一子网的输出"INNER"

对于在不同子网的输出“OUTER”

样例

输入

192.168.0.1
255.255.255.0
3

输出

192.168.0.2
192.168.0.254
192.168.1.2


INNER
INNER
OUTER

来源

CodesOnline