IP地址和子网掩码(位运算)
(1)编写函数convert(), 将字符串表示的IP地址转为为32位无符号整数
(2)编写函数checkip(), 检查ip地址配置是否正确(当ip地址和子网相与(&)的结果,和网关和子网掩码相与的结果相等时,认为配置正确;否则认为不正确;
主函数调用上述函数,完成对输入ip地址/子网掩码/网关ip地址配置的检查。
输入样例1:
输入3个字符串,分别表示主机的ip地址、子网掩码和网关。
192.168.0.1
255.255.255.0
192.168.0.254
输出样例1:
若配置正确,输出YES;否则输出NO (判断规则:当ip地址和子网相与(&)的结果,和网关和子网掩码相与的结果相等时,认为配置正确)
YES
输入样例2:
10.0.10.10
255.255.0.0
10.10.1.1
输出样例2:
NO
代码如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>typedef unsigned int U32;unsigned int convert(char s[])
{const char str[2] = ".";char *token = strtok(s,str);int a[4];int i;a[0] = atoi(token);for(i = 1; i < 4; i++){token = strtok(NULL,str);//参数为NULL的时候,该函数默认使用上一次未分割完的字符串的末位置作为起始位置a[i] = atoi(token);}//forunsigned int IP = (a[0] << 24 | a[1] << 16 | a[2] << 8 | a[3]);//有 1 则 1return IP;
}//convertint checkip(int ip,int netmask, int gateway)
{if((ip & netmask) == (netmask & gateway))return 1;elsereturn 0;}//checkipint main()
{char sip[32] = {0};char snt[32] = {0};char sgt[32] = {0};gets(sip);gets(snt);gets(sgt);U32 ip = convert(sip);U32 netmask = convert(snt);U32 gateway = convert(sgt);if(checkip(ip, netmask, gateway)){printf("YES");}else{printf("NO");}return 0;}
IP地址和子网掩码(位运算)相关推荐
- 通过IP地址和子网掩码与运算计算相关地址
知道ip地址和子网掩码后可以算出: 1.网络地址 2.广播地址 3.地址范围 4.本网有几台主机 例1:下面例子IP地址为192·168·100·5子网掩码是255·255·255·0.算出网络地址. ...
- 通过IP地址和子网掩码计算相关地址
通过IP地址和子网掩码与运算计算相关地址 知道ip地址和子网掩码后可以算出: 1. 网络地址 2. 广播地址 3. 地址范围 4. 本网有几台主机 例1:下面例子IP地址为192·168·10 ...
- ipv6的127位掩码如何表示_电脑网络:IP地址、子网掩码详解-你们好,做个朋友可好...
一.IP地址简介 在生活中我们使用具有上网功能的电子设备都有IP地址,就跟每个人都有自己的名字一样.IP地址分为IPV4. IPV6,我们所说的的IP地址指的是IPV4的地址. 只要记住你的名字 不管 ...
- 计算机IP地址与子网掩码如何进行AND运算
源:计算机IP地址与子网掩码如何进行AND运算 转载于:https://www.cnblogs.com/LittleTiger/p/4704732.html
- IP地址,子网掩码、默认网关,DNS理论解释
在网上发现的这篇文章写的非常好,有理论有示例. (一) 问题解析 001. 问: IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不 ...
- IP地址、子网掩码、网关的概念—Vecloud微云
今天为网络初学者带来IP地址.网关等概念的区分和讲解. 通俗来讲:IP 地址,是标注一台电脑的身份,如同每个人都有的身份证:子网掩码表示所使用的网络属于哪种网络段,两个IP地址同属于一个网段就可以直接 ...
- [转帖]IP地址、子网掩码、网络号、主机号、网络地址、主机地址以及ip段/数字-如192.168.0.1/24是什么意思?...
IP地址.子网掩码.网络号.主机号.网络地址.主机地址以及ip段/数字-如192.168.0.1/24是什么意思? 2016年03月26日 23:38:50 JeanCheng 阅读数:105674 ...
- IP地址,子网掩码、默认网关,DNS服务器是什么意思
IP地址,子网掩码.默认网关,DNS服务器是什么意思 2010-10-30 17:00:34| 分类: 网络基础知识|举报|字号 订阅 下载LOFTER我的照片书 | (一) 问题解析 001. ...
- IP地址与子网掩码总结
一.IP地址与网络分类 1. IP地址 不同的物理网络技术有不同的编址方式:不同物理网络中的主机,有不同的物理网络地址.网间网技术是将不同物理网络技术统一起来的高层软件技术.网间网技术采用一种全局通 ...
最新文章
- python3x 中如何使用tkMessageBox
- P2216 理想的正方形 单调队列 (二维)
- python 2022/1/2
- 如何实现科技论文里面的算法
- 产品经理的每日反省清单
- unity案例 mysql lua_通过Xlua实现unity热更新的一个小例子
- 关于“想哭”病毒,我也来两句。--转载
- Vue指令_常用vue指令_自定义全局指令_自定义局部指令---vue工作笔记0016
- 【DS】About Stack
- php数量百分比,mysql PHP行数+百分比
- 史上最全 SQL 基础知识语法
- pom文件无法加载ojdbc14-10.2.0.4.0.jar
- android 经纬度距离计算器,经纬度距离角度计算软件|经纬度距离角度计算器(geography) v2.0免费版_星星软件园...
- 【BIM入门实战】Navisworks2018简体中文安装教程(附安装包下载)
- 【微信公众号-订阅号发送群发消息】
- Triplet-Graph Reasoning Network for few-shot Metal Generic Surface Defect Segmentation论文理解
- iOS 四舍六入五成双算法
- 笔记本键盘两个ctrl键同时失灵怎么解决?
- php北京平均工资,2016年北京平均工资是多少?
- 《漫游》之《云依柳俏》