题解 | 整数与IP地址间的转换

#include <iostream>
#include <string>
#include <sstream>
#include <vector>

using namespace std;

int main()
{
    string input1;
    unsigned int input2;
    cin >> input1 >> input2;


    // ip地址转换成10进制
    stringstream ss(input1);
    string token;
    char delimiter = '.';
    vector<int> nums;
    while (getline(ss, token, delimiter)) {
        nums.push_back(stoi(token));
    }
    unsigned int result1 = (nums[0] << 24) + (nums[1] << 16) + (nums[2] << 8) + nums[3];


    // 10进制转换成ip地址
    unsigned int pos1 = input2 >> 24;
    unsigned int pos2 = (input2 >> 16) & 0xff;
    unsigned int pos3 = (input2 >> 8) & 0xff;
    unsigned int pos4 = input2 & 0xff;
    
    ss.clear();
    ss.str("");
    ss << pos1 << "." << pos2 << "." << pos3 << "." << pos4;
    string result2 = ss.str();


    // 输出
    cout << result1 << endl;
    cout << result2 << endl;

    // system("pause");
    return 0;
}
  • 不使用scanf获取输入
  • 使用stringstream来分割
全部评论

相关推荐

03-01 19:30
已编辑
南京大学 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
正在热议
更多
# AI面会问哪些问题? #
24273次浏览 477人参与
# 中国电信笔试 #
30930次浏览 283人参与
# 厦门银行科技岗值不值得投 #
7393次浏览 185人参与
# 你的实习产出是真实的还是包装的? #
18515次浏览 329人参与
# 如果秋招能重来,我会____ #
96448次浏览 499人参与
# 春招至今,你的战绩如何? #
59119次浏览 535人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
13976次浏览 208人参与
# i人适合做什么工作 #
36646次浏览 123人参与
# 我是面试官,请用一句话让我破防 #
79291次浏览 219人参与
# 哪些公司真双非友好? #
69122次浏览 287人参与
# 找AI工作可以去哪些公司? #
7456次浏览 177人参与
# 从事AI岗需要掌握哪些技术栈? #
7444次浏览 234人参与
# 五一之后,实习真的很难找吗? #
102791次浏览 584人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
339699次浏览 2163人参与
# 你做过最难的笔试是哪家公司 #
29459次浏览 179人参与
# 你小时候最想从事什么职业 #
159826次浏览 2072人参与
# 阿里笔试 #
175926次浏览 1299人参与
# 金三银四,你的春招进行到哪个阶段了? #
21407次浏览 274人参与
# 一张图晒出你司的标语 #
3777次浏览 71人参与
# 面试被问期望薪资时该如何回答 #
382422次浏览 2163人参与
# 晶盛机电求职进展汇总 #
35209次浏览 318人参与
# 应届生第一份工资要多少合适 #
20440次浏览 84人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务