uint32_t转换成IP字符串
来源:互联网 发布:网络红猫红小胖 编辑:程序博客网 时间:2024/04/28 02:50
今天去艺龙面试,面试的时候的一个面试题,题目是给一个uint32_t的一个整数,转换成IP字符串
大概思路是对的,每次取8位进行处理,然后字符串内加入一个'.',最后再用'\0'代替最后一个'.'
然后8位数字0-255,当然012这种0是不展现的,最后000的情况还需要补0,当时在纸上写的时候0处理得不够好,回来以后想了想,设一个flag标志表示是否前面已经有大于0的数,有的话'0' 就加入字符串,没有的话省略,最后如果flag没有被重置的话就补一个'0'。
大概思路就是这样,下面附上代码
测试用例用了0x0->0.0.0.0、0xFFFFFFFF->255.255.255.255
然后一些比较随机和综合的数0x0x64646464->100.100.100.100、0x66164E00->102.22.78.64
char* changeIP(uint32_t num){char *res=new char[16];char *p=res;for (int i=0;i<4;i++){uint32_t tmp=(num>>((3-i)*8))&0xFF ;p=make8Bit(p,tmp);}p--;*p='\0';return res;}char* make8Bit(char *p,uint32_t num){//char *res=p;char *q=p;bool flag=false;for (int i=2;i>=0;i--){int carry=num/pow(10,i);if (carry>0){*(p++)=carry+'0';flag=true;}else{if(flag){ *(p++)=carry+'0';}}num = num % (int)pow(10,i);}if (!flag){*(p++)='0';}*(p++)='.';return p;}
0 0
- uint32_t转换成IP字符串
- ip地址转换成字符串
- 字符串IP地址转换成IP数值函数
- 字符串IP地址转换成IP数值函数
- uint32_t
- uint32_t
- uint32_t
- UINT32_T
- uint32_t
- 字符串转换--str ip --.> num ip
- C指针操作——把ip字符串转换成ip range字符串
- 字符数组md5[4]转换成uint32_t的无符号整数转化?
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- java字符串应用之IP地址转换成整数
- 将IP字符串转换成数值(ORACLE)
- 暴风影音使用技巧十则
- 关于Hibernate的log的问答
- [转载]log4j配置文件详解
- 【DP】 Codeforces Round #302 (Div. 1) D - Road Improvement
- 敏捷开发的必要技巧:保持代码简洁
- uint32_t转换成IP字符串
- 敏捷开发的必要技巧:将注释转为代码
- 敏捷开发的必要技巧:移除重复代码
- 敏捷开发技巧-消除代码异味
- 敏捷开发与极限编程的简介
- 北大ACM2229——Sunsets~~简单DP
- 极限编程与敏捷开发
- [转载]关于ajax的一些随笔
- 走下神坛的项目经理