一个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 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
- ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
- ¥16 mybatis的代理对象无法通过@Autowired装填
- ¥15 可见光定位matlab仿真
- ¥15 arduino 四自由度机械臂
- ¥15 wordpress 产品图片 GIF 没法显示
- ¥15 求三国群英传pl国战时间的修改方法
- ¥15 matlab代码代写,需写出详细代码,代价私
- ¥15 ROS系统搭建请教(跨境电商用途)