HJ33 整数与IP地址间的转换

摘要
Title: HJ33 整数与IP地址间的转换
Tag: 二进制
Memory Limit: 64 MB
Time Limit: 1000 ms

Powered by:NEFU AB-IN

Link

HJ33 整数与IP地址间的转换

  • 题意

    原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。
    输出转换成10进制的IP地址 输出转换后的IP地址

  • 思路

    1. 将四个数输入之后,c要左移8位,a和b以此类推
    2. 输入大数之后,先求a,即原数右移(3 * 8)位,然后原数减去a,接着往下求即可
  • 代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #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;
    }
    }
使用搜索:谷歌必应百度