IP地址

题目描述

IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

用户看到的IP地址通常用“点分十进制”,表示成(a.b.c.d)的形式,其中,a, b, c, d都是0~255(含0和255)之间的十进制整数。

但是在网络传输时,a, b, c, d都被编码成8位二进制,一起拼成32位二进制数传输。如果把32位二进制数看成无符号的十进制整数X,
则有下列关系:
                 X = a * 256 * 256 * 256 + b * 256 * 256 + c * 256 + d
我们以样例说明,192.9.16.12各自对应的8位二进制如下图,将这些二进制连接起来构成的整数,对应的十进制是3221819404。

现在的问题是给定X,求其点分形式。

输入

一个无符号十进制整数X(0<=X<232).

输出

输出X对应的点分十进制表示的IP地址,形式为a.b.c.d。

样例输入 Copy

3221819404

样例输出 Copy

192.9.16.12

提示

定义类型用unsigned int,scanf输入格式用"%u"

答案

#include<stdio.h>
int main(){
	unsigned long long X,a,b,c,d;
	scanf("%llu",&X);
	 d=X%256;
	 
	  X=X/256;
	  
	  	 c=X%256;

	  X=X/256;
	  
	  	 b=X%256;
	  
	  X=X/256;
	  
	  a=X%256;
	  
	  
	  
	  printf("%d.%d.%d.%d",a,b,c,d);	
	return 0;
}
//writed by sorrymaker

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天地过客1124

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值