十进制转IP地址的简单处理方案

题目:十进制转IP地址。例如输入:3689901706,输出:219.239.110.138

代码报错,输出-118.-145.-16.-36.

#include<stdio.h>
int main()
{
    long int num,a[4];
    num = 3689901706;
    int i,j;
    for(i=0;i<4;i++)
    {
        printf("%d",num);
        a[i]=num%256;
        printf("%d",a[i]);
        num=num/256;
        printf("%d",num);
    }
    for(j=3;j>=0;j--)
        printf("%d.",a[j]);

	return 0;
}

报错原因:long int 溢出


正确代码:

#include<stdio.h>
int main()
{
    long long num,a[4];
    num = 3689901706;
    int i,j;
    for(i=0;i<4;i++)
    {
        printf("%d",num);
        a[i]=num%256;
        printf("%d",a[i]);
        num=num/256;
        printf("%d",num);
    }
    for(j=3;j>=0;j--)
        printf("%d.",a[j]);

	return 0;
}


版权声明:欢迎转载,转载请注明出处: http://blog.csdn.net/ztf312/

时间: 2024-10-13 10:33:09

十进制转IP地址的简单处理方案的相关文章

十六进制转换为点分十进制串(ip地址形式)

include "csapp.h" void main(int argc,char* argv[]) {   char *hex=argv[1];   if(argc<2||*hex!='0'||*(hex+1)!='x')     printf("input error!you should input like this:%s 0x8002c2f2\n",argv[0]);   int dd[4];   int i;   for(i=1;i<=4;i

获取IP地址(简单实现)

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <sys/socket.h> 5 #include <sys/select.h> 6 #include <sys/time.h> 7 #include <unistd.h> 8 #include <sys/ioctl.h> 9 #include <errn

【科普】IP地址详解-你,是谁?(二)

我听见了你的声音也藏着颗不敢见的心薛之谦--<我好像在哪见过你> IP这个单词随着互联网的发达而被人们熟知,但其中还藏着诸多内容不被人所熟知,那么今次接着上回详解的内容往下讲,同时在这里也要向为这篇文章提出意见和鼓励的知友们真挚的道声谢,感谢你们的支持和鼓励,祝好. 1. IP地址分为有类和无类 1.1 简介 在我们的实现生活IP地址分为有类和无类. 有类(主类)IP地址:主要分为A.B.C类,每种类型固定的掩码. 无类IP地址:无论哪种类型的IP地址都没有固定掩码. 1.2 什么是掩码(子网

IP地址、子网掩码、网关、DNS的关系

什么是IP地址 所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址.按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节.例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了.为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节.于是,上面的IP地址可以表示为“10.0.0.1”.IP地址的这种表示法

IP 地址介绍

什么是 IP 地址 IP 地址(Internet Protocol Address)也称为网间地址.网际地址.IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异. IP 地址是 TCP/IP 协议栈 里的网络层地址方案,IP地址是一种用来对网络设备的逻辑标识. 举个生活中的例子,如果我要寄

【Linux网络编程】IP地址介绍

什么是 IP 地址IP 地址(Internet Protocol Address)也称为网间地址.网际地址.IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异. IP 地址是?TCP/IP 协议栈?里的网络层地址方案,IP地址是一种用来对网络设备的逻辑标识. 举个生活中的例子,如果我要寄一

IP地址初了解

IP分为2中:IPv4(32位),IPv6(128位).IPv6的提出是为了应付未来IP地址不足的困难,但是目前IPv4仍然是主流. 一个IP地址分为4段,每段有8位,段与段之间用 . 分隔.为了易于表示,IP地址会把没段的二进制转化为十进制. IP地址分为2部分:网域号码(Net_ID),主机号码(Host_ID).根据网域号码和主机号码所占有位数的不同,IP地址可分为5类: A:0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx B:10xxxxxx.xxxxxxxx.x

Remoting获取客户端的外网IP地址

其实在服务端Remoting可以像读取一个变量一样来获取到连接过来的客户端的IP,不过这个IP不是太容易的取到. 网上有一个解决方案就是使用配置文件来吸取IP地址,但是这个方案需要我们使用配置文件来使用Remoting,如果我们是代码形式的程序,那么怎样获取客户端IP呢. Remoting.WebService底层都是用Socket来实现,Socket本身很容易的可以获取到IP地址,所以理论上Remoting获取客户端IP是通过的. 我们可以从吸取器入手来获取,假如我们使用TCP通道来通信,在服

如何查看智能手机的IP地址

1.  外网IP IP地址可简单分为两类.外网IP或称公网IP是用来在Internet上唯一标识你的设备的.如果你通过GPRS或者3G技术接入互联网的话(通过运营商网络),那么你也可以通过下面的方法找出运营商分配给你的IP地址. 所有的智能机不管运行着什么系统都可以用同一种方法找出外网IP——只要打开手机上的浏览器然后访问http://www.whatip.com/就行了.其他类似的站点还包括CmyIP.com 以及touch.WhatsMyIP.org. 2. 内网IP 内网IP用来标识处于同