IP地址格式输出

本实例:输入一个32位二进制的数,每隔八位分开将其转换为十进制以IP格式输出。


 1 #include <stdio.h>
2 /*
3 以IP地址形式输出
4 */
5 int main(void)
6 {
7 int i;
8 int ip[4]={0};
9 char a[33];
10 printf("please input binary number:\n");
11 scanf("%s",a);//puts(a);
12 for(i=0;i<8;i++)
13 {
14 if(a[i]==‘1‘)
15 {
16 ip[0]+=bin_dec(2,7-i);
17 }
18 }
19
20 for(i=8;i<16;i++)
21 {
22 if(a[i]==‘1‘)
23 {
24 ip[1]+=bin_dec(2,15-i);
25 }
26 }
27 for(i=16;i<24;i++)
28 {
29 if(a[i]==‘1‘)
30 {
31 ip[2]+=bin_dec(2,23-i);
32 }
33 }
34 for(i=24;i<32;i++)
35 {
36 if(a[i]==‘1‘)
37 {
38 ip[3]+=bin_dec(2,31-i);
39 }
40
41 }
42 printf("ip:\n");
43 printf("%d.%d.%d.%d",ip[0],ip[1],ip[2],ip[3]);
44
45 return 0;
46 }
47 //求2的n次
48 int bin_dec(int x,int n)
49 {
50
51 if(n==0) return 1;
52 return x*bin_dec(x,n-1);
53
54 }

运行结果如图:

IP地址格式输出,码迷,mamicode.com

时间: 2024-12-28 15:45:25

IP地址格式输出的相关文章

TCP/IP地址格式转换API

1.htonl ()和ntohl( )  ntohl( )-----网络顺序转换成主机顺序(长整型) u_long PASCAL FAR ntohl (u_long netlong); htonl ()-----主机顺序转换成网络顺序 (长整型) u_long PASCAL FAR htonl (u_long hostlong); 2.htons ()和ntohs( ) htons()------主机顺序转换成网络顺序(短整型) u_short PASCAL FAR htons (u_short

【网络】IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)

1.htonl ()和ntohl( ) u_long PASCAL FAR ntohl (u_long netlong); u_short PASCAL FAR ntohs (u_short netshort); ntohl( )-----网络顺序转换成主机顺序 u_long PASCAL FAR htonl (u_long hostlong); u_short PASCAL FAR htons (u_short hostshort); htonl ()-----主机顺序转换成网络顺序 2.in

netmask IP地址格式转换工具

工具安装 wget http://mirrors.sohu.com/ubuntu/pool/universe/n/netmask/netmask_2.3.12.tar.gz tar xf netmask_2.3.12.tar.gz cd netmask-2.3.12 ./configure make && make install 命令使用 # netmask -s 192.168.1.1:192.168.1.255 192.168.1.0 1.1.1.0 1.1.1.1 1.1.1.2:

[转] TCP/IP原理、基础以及在Linux上的实现

导言:本篇作为理论基础,将向我们讲述TCP/IP的基本原理以及重要的协议细节,并在此基础上介绍了TCP/IP在LINUX上的实现. OSI参考模型及TCP/IP参考模型 OSI模型(open system interconnection reference model)是基于国际标准化组织(ISO)的建议而发展起来的,它分为如图3-1所示的七层.当卫星和无线网络出现以后,现有的协议在和这些网络互联时出现了问题,所以需要一种新的参考体系结构,能无缝地连接多个网络.这个体系结构就是TCP/IP参考模

IP 地址转换 inet_addr() inet_ntoa() 笔记

inet_addr()   inet_ntoa() 及其自实现函数self_inet_ntoa() 和 self_inet_addr() 笔记 #include <WINSOCK2.h> #include <iostream> #pragma comment(lib,"WS2_32.LIB") using namespace std; char *self_inet_ntoa(UINT in); ULONG self_inet_addr(const char *

获取iOS设备ip地址

写在前面 最近做关于网络接口部分,有时候为了接口安全,需要在请求接口的时候,跟后服务端约好,每一个接口需要传递特定的签名数据,关于签名算法,服务端和移动端保持一致;当然这不是主要的,主要的是,如何获取设备的ip地址;废话不多说,直接上代码; 小tips: Mac 终端获取电脑ip: ifconfig | grep "inet " | grep -v 127.0.0.1 主要参考:stackoverflow 1 http://stackoverflow.com/questions/707

转载-iOS获取设备IP地址

iOS获取设备IP地址 代码如下: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 #import <ifaddrs.h>#import <arpa/inet.h>#

[Swift]LeetCode93. 复原IP地址 | Restore IP Addresses

Given a string containing only digits, restore it by returning all possible valid IP address combinations. Example: Input: "25525511135" Output: ["255.255.11.135", "255.255.111.35"] 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入:

Leetcode 93.复制IP地址

复制IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式. 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 1 import java.util.ArrayList; 2 import java.util.List; 3 4 class Solution { 5 private List<String> result = new Ar