题意理解
给出一个ip和整数,分别转换成整数和ip,转换规则是ip每个字段转换成8为二进制数,再拼成32位的二进制数。
问题分析
ip转整数,按.取各字段字符串,转化为整数,再按照a*2^24+b*2^16+c*2^8+d公式计算整数。
整数转ip,分别整除2^24,2^16,2^8得到四个字段的整数,再拼在一起。
其他
这个问题很经典。我的方法有点点笨。另外一个思路不错,如下:
1 int>char>int>char方法读入ip字段,再用左移计算整数
2 整数用&与操作分别取最高8位,中间两个8位,最后8位,再移位24,16,8,得到各字段值。
链接
https://github.com/xierensong/learngit/blob/master/ncode/7/7.cpp