zoukankan
html css js c++ java
用C语言将二进制转换为IP地址
根据需要将任意32位二进制转换为IP地址。
输入:11111111
输出:255.0.0.0
思路:将输入的二进制数以每8个为一个单位转化为十进制 。
#include <stdio.h> int bin_dec(int x, int n) //自定义函数将二进制数转换为10进制 { if(n == 0) { return 1; } return x * bin_dec(x, n-1); //递归调用bin_dec()函数 } int main(void) { int i; int ip[4] = {0}; char a[33]; printf("请输入二进制数: \n"); scanf("%s", a); for(i=0; i<8; i++) { if(a[i] == '1') { ip[0] += bin_dec(2, 7-i); } } for(i=8; i<16; i++) { if(a[i] == '1') { ip[1] += bin_dec(2, 15-i); } } for(i=16; i<24; i++) { if(a[i] == '1') { ip[2] += bin_dec(2, 23-i); } } for(i=24; i<32; i++) { if(a[i] == '1') { ip[3] += bin_dec(2, 31-i); } if(a[i] == '\0') { break; } } printf("IP:\n"); printf("%d.%d.%d.%d\n", ip[0], ip[1], ip[2], ip[3]);//输出IP地址 return 0; }
查看全文
相关阅读:
Elastic Stack之FileBeat使用实战
Elastic Stack之Logstash进阶
Elastic Stack之Logstash
Elastic Stack之Elasticsearch 5.6.12 集群部署实战
CentOS安装操作系统级初始优化
Elastic Stack之搜索引擎基础
ansible基础-ansible角色的使用
ansible基础-playbook剧本的使用
ansible基础-ansible的安装和常用模块介绍
运维开发笔记整理-使用序列化
原文地址:https://www.cnblogs.com/linuxer/p/2441220.html
最新文章
zabbix Server 4.0 报警(Action)篇
zabbix Server 4.0 触发器(Trigger)篇
zabbix Server 4.0 部署及之内置item使用案例
什么是大数据运维工程师
Redis扩展机制
大数据技术之Hadoop3.1.2版本伪分布式部署
Redis配置sentinel模式
Redis配置主从复制
使用 gzexe 快速加密解密文件内容
使用Eclipse创建动态的web工程
热门文章
集成Tomcat环境到Eclipse中
Redis(REmote DIctionary Server)基础
Golang的排序和查找
Burrow 服务的安装部署
MySQL高可用架构之Mycat-关于Mycat安装和参数设置详解
Kafka Offset相关命令总结
Docker容器技术基础入门篇
Elastic Stack之kibana使用
Linux Cluster 基础之LVS调度算法与集群类型
Elastic Stack之Redis集群使用
Copyright © 2011-2022 走看看