Powered by:NEFU AB-IN
Link
HJ33 整数与IP地址间的转换
-
题意
原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。
输出转换成10进制的IP地址 输出转换后的IP地址
-
思路
- 将四个数输入之后,c要左移8位,a和b以此类推
- 输入大数之后,先求a,即原数右移(3 * 8)位,然后原数减去a,接着往下求即可
-
代码
#include <iostream>
using namespace std;
int main() {
long long int a, b, c, d;
long long int num;
while (scanf("%lld.%lld.%lld.%lld", &a, &b, &c, &d) != EOF) {
cin >> num;
cout << (a << 24) + (b << 16) + (c << 8) + d << endl;
a = num >> 24;
num = num - (a << 24);
b = num >> 16;
num = num - (b << 16);
c = num >> 8;
d = num - (c << 8);
cout << a << "." << b << "." << c << "." << d << endl;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)