IP地址转换-16进制转化为10进制
来源:互联网 发布:网络上dc是什么意思 编辑:程序博客网 时间:2024/03/28 23:56
很久之前写的,今天放在这里。
1、不含字母
#include <iostream>#include <stdio.h>//8个二进制(2个十六进制)数转换成十进制数,不含a-f。即00-99的转换int transfer_0(int x){int y;//结果int temp;//临时值y=x%10;//个位数temp=(x%100-y)/10;//十位数y+=temp*16;return y;}//32个二进制(4个十六进制)数转换成十进制数,不含a-f。即0000-9999的转换void transfer_1(unsigned int x){//从右向左int temp1=x%100;int y1=transfer_0(temp1);int temp2=(x%10000-temp1)/100;int y2=transfer_0(temp2);int temp3=(x%1000000-temp1-temp2*100)/10000;int y3=transfer_0(temp3);int temp4=(x%100000000-temp1-temp2*100-temp3*10000)/1000000;int y4=transfer_0(temp4);printf("结果是:%d.%d.%d.%d\n",y4,y3,y2,y1);}void main(){unsigned int x;printf("IP地址:");scanf("%d",&x);transfer_1(x);system("pause");}
2、含有字母
#include <stdio.h>#include <iostream>#include <string>using namespace std;//将16进制数数转化成10进制数,一位的0-F。int transfer_0(char x){int y=0;//返回值if (x>='0' && x<='9')//0-9的数字{y=x-'0';return y;}if (x>='a' && x<='f')//a-f的字母{y=x-'a'+10;return y;}if (x>='A' && x<='F')//A-F的字母{y=x-'A'+10;return y;}printf("参数错误!");exit(1);}/*//将16进制数数转化成10进制数,两位的00-FF。int transfer_1(char x[],int n)//长度为2{char s[2];//固定的,长度不变for (int i=0;i<n;i++){s[i]=x[i];}int y1=transfer_0(s[0]);//十位int y2=transfer_0(s[1]);//个位int y=y2+y1*16;return y;}*///尝试一次,尝试删除上面的,哈哈~~//将16进制数数转化成10进制数,八位的00000000-FFFFFFFF。void transfer_2(char x[],int n)//长度为8{//从左往右int y0=transfer_0(x[0]);int y1=transfer_0(x[1]);int y2=transfer_0(x[2]);int y3=transfer_0(x[3]);int y4=transfer_0(x[4]);int y5=transfer_0(x[5]);int y6=transfer_0(x[6]);int y7=transfer_0(x[7]);printf("结果是:%d.%d.%d.%d\n",y0*16+y1,y2*16+y3,y4*16+y5,y6*16+y7);}void main(){char x[9]="";printf("8位的IP地址(十六进制):");//不能有空位cin>>x;transfer_2(x,8);system("pause");}
3、提交版
#include <stdio.h>#include <string>//将16进制数数转化成10进制数,一位的0-F。int transfer_0(char x){int y=0;//返回值if (x>='0' && x<='9')//0-9的数字{y=x-'0';return y;}if (x>='a' && x<='f')//a-f的字母{y=x-'a'+10;return y;}if (x>='A' && x<='F')//A-F的字母{y=x-'A'+10;return y;}printf("参数错误!");exit(1);}//将16进制数数转化成10进制数,八位的00000000-FFFFFFFF。void transfer_2(char x[]){//从左往右int y1=transfer_0(x[0])*16+transfer_0(x[1]);int y2=transfer_0(x[2])*16+transfer_0(x[3]);int y3=transfer_0(x[4])*16+transfer_0(x[5]);int y4=transfer_0(x[6])*16+transfer_0(x[7]);printf("结果是:%d.%d.%d.%d\n",y1,y2,y3,y4);}void main(){char x[9]="";//长度为8printf("8位的IP地址(十六进制):");//不能有空位,只取前8位scanf("%s",&x);transfer_2(x);}
- IP地址转换-16进制转化为10进制
- IP地址转换-16进制转化为10进制
- ip地址转化为其他进制
- 把10进制的ip地址转换为16进制
- 32位IP地址转换为点分10进制的IP地址
- IP地址转换为一个整数和整数转化为IP地址
- ip地址转化为整数 整数转化为IP地址
- IP地址转化为文本
- IP地址转化为数字表示
- 转化ip地址为长整型数字
- 将IP地址转化为一个整数
- 转换IP地址为十进制
- 10进制转化为16进制
- 将二进制转换为其它进制(这里转化为16进制,其它自己尝试)
- 将IP地址转换为二进制
- 如何转换IP地址为整型
- 域名转换为IP地址示例
- c#中域名转换为IP地址
- 稳扎稳打Silverlight(29) - 2.0Tip/Trick之Cookie, 自定义字体, 为程序传递参数, 自定义鼠标右键, 程序常用配置参数
- Stored Procedures in SQLite
- C语言实现单链表翻转的递归算法
- Solaris下制作软件包
- Java获取昨天日期
- IP地址转换-16进制转化为10进制
- 稳扎稳打Silverlight(30) - 2.0Tip/Trick之Silverlight.js, Silverlight.supportedUserAgent.js, 自定义启动界面, 响应鼠标滚
- linux网络通讯程序无提示自动退出——SIGPIPE信号退出
- 代码大全---33
- android 文件操作FILE
- 超级链接样式--伪类
- Ubuntu下安装Redmine
- DWR 制作 ajax 国家地区级联菜单
- 冒泡法排序