计算网络地址

题目描述

子网掩码为32位的二进制数,对应IP地址中网络号和子网号的位设置为1,对应IP地址中主机号的位设置为0。
只要把IP地址和子网掩码进行逐位的“与”运算(and),就可以得出网络地址。

已知IP地址和子网掩码,请你编写程序计算出对应的网络地址。

输入描述

输入数据有多组,每组一行。为点分十进制表示的IP地址和子网掩码,IP地址和子网掩码之间以空格分隔。

输出描述

对每组输入数据,使用点分十进制表示输出计算出的网络地址,占一行。

输入样例

141.14.72.24 255.255.192.0

141.14.72.24 255.255.224.0

输出样例

141.14.64.0

141.14.64.0

AC代码如下:

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
    int n1,n2,n3,n4;
    int s1,s2,s3,s4;
    while(scanf("%d.%d.%d.%d %d.%d.%d.%d",&n1,&n2,&n3,&n4,&s1,&s2,&s3,&s4)!=EOF)
    {
        n1&=s1;
        n2&=s2;
        n3&=s3;
        n4&=s4;
        printf("%d.%d.%d.%d\n",n1,n2,n3,n4);
    }
    return 0;
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值