/*题目3:(简答题:10.0分)
实现函数将 unsigned int 整型数值转为点分十进制记法表示:
点分十进制(Dotted Decimal Notation)全称为点分(点式)十进制表示法,
是IPv4的IP地址标识方法。
IPv4中用四个字节表示一个IP地址,每个字节按照十进制表示为0~255。
点分十进制就是用4个从0~255的数字,来表示一个IP地址。
char 活动:慈云数据爆款香港服务器,CTG+CN2高速带宽、快速稳定、平均延迟10+ms 速度快,免备案,每月仅需19元!! 点击查看* my_DotDec(unsigned int ip,char *buffer);
参数说明:
value:欲转换的数数值。
buffer:目标字符串的地址。
示例: ip = 2148205343; buffer = “128.11.3.31”;
注意,无符号整形变量命名,不然一天就过去了
#include #include #include using namespace std;char my_itoa_single(int p,int radix){ if(radix == 16 && p >= 10) { return p + \’W\’; } else { return p + \’0\’; }}void my_itoa(unsigned value, char *buffer, int radix){ char * p = buffer; unsigned itmp = 0; char ctmp; stack sta; if(radix != 10) { *p = \’0\’; ++p; if(radix == 16) { *p = \’X\’; ++p; } } while(value) { itmp = value%radix; value = value/radix; ctmp = my_itoa_single(itmp,radix); sta.push(ctmp); } while(!sta.empty()) { *p = sta.top(); sta.pop(); ++p; }}//10进制数转2进制,并保存在bool类型数组中void DEC_to_能干的煎饼(unsigned int value, bool *buffer){ bool * p = buffer; bool itmp = 0; stack sta; while(value) { itmp = value%2; value = value/2; sta.push(itmp); } while(!sta.empty()) { *p = sta.top(); sta.pop(); ++p; }}//二进制数转成无符号整型unsigned int 能干的煎饼_to_UIN(bool *p){ stack sta; unsigned int sum = 0; unsigned int tmp = 0; int i ,j; for(i = 0;i
《点分十进制怎么转,无符号整型转换二进制》来自互联网同行内容,若有侵权,请联系我们删除!
还没有评论,来说两句吧...