原理:ip地址的每段可以看成是一個0-255的整數,把每段拆分成一個二進制形式組合起來,然后把這個二進制數轉變成 一個長整數。 舉例:一個ip地址為10.0.3.193 每段數字 相對應的二進制數 10 00001010 0 00000000 3 00000011 193 11000001 組合起來即為:00001010 00000000 00000011 11000001,轉換為10進制數就是:167773121,即該IP地址轉換后的數字就是它了。
的每段可以看成是一個0-255的整數,需要對IP地址進行校驗
輸入描述: 輸入 1 輸入IP地址 2 輸入10進制型的IP地址
輸出描述: 輸出 1 輸出轉換成10進制的IP地址 2 輸出轉換后的IP地址
輸入例子: 10.0.3.193 167969729
輸出例子: 167773121 10.3.3.193
#include <iostream>using namespace std;int main(){ long long n, a1, a2, a3, a4; char ch; while(cin >> a1 >> ch >> a2 >> ch >> a3 >> ch >> a4) { cin >> n; long long res = 0; res += (a1 << 24) + (a2 << 16) + (a3 << 8) + a4; a1 = n >> 24; a2 = (n >> 16) & 255; a3 = (n >> 8) & 255; a4 = n & 255; cout << res << endl << a1 << '.' << a2 << '.' << a3 << '.' << a4 << endl; } return 0;}新聞熱點
疑難解答