一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请定义一个函数,将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。输入样例:11001100100101000001010101110010(32位二进制字符串)输出样例:204.148.21.114(IP地址由4个十进制数组成,分别对应4个8位的二进制数,中间用“.”分隔开)
2条回答 默认 最新
关注 #include <stdio.h> #include <math.h> int b2t(char *s) { int sum=0; for(int i=0;i<8;++i) { if(s[i]=='1') sum+=pow(2,7-i); } return sum; } int main() { char ip_s[32]; gets(ip_s); for(int i=0;i<4;++i) { printf("%d",b2t(ip_s+i*8)); if(i!=3) printf("."); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 微信会员卡接入微信支付商户号收款
- ¥15 如何获取烟草零售终端数据
- ¥15 数学建模招标中位数问题
- ¥15 phython路径名过长报错 不知道什么问题
- ¥15 深度学习中模型转换该怎么实现
- ¥15 HLs设计手写数字识别程序编译通不过
- ¥15 Stata外部命令安装问题求帮助!
- ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
- ¥15 TYPCE母转母,插入认方向
- ¥15 如何用python向钉钉机器人发送可以放大的图片?