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

整数与IP地址间的转换

https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea

#include <bitset>
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;

int main() {
    uint32_t a, b, c, d;
    scanf("%d.%d.%d.%d", &a, &b, &c, &d);
    uint32_t res1 = (a << 24) + (b << 16)  + (c << 8) + d;
    uint32_t mark = 255;
    uint32_t num;
    cin >> num;
    vector<int> ip(4);
    int i = 4;
    while(i--){
        ip[i] = num & mark;
        num = num >> 8;
    }
    printf("%u\n", res1);
    printf("%d.%d.%d.%d", ip[0],  ip[1],  ip[2],  ip[3]);

    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

05-01 22:41
中南大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务