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

整数与IP地址间的转换

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

位运算运用:

int main(){
    int s[4] = {0};
    int i = 0;
    unsigned int sum = 0;
    unsigned int digt = 0;
    
    for(i = 0; i < 4; i++){
        scanf("%d.", s+i);
        sum += (s[i] << (3-i)*8);
    }
    printf("%ld\n", sum);
    
    scanf("%ld", &digt);
    for(i = 0; i < 4; i++){
        if (i == 3){
            printf("%d\n", digt >> (3-i)*8 & 0xFF);
        }else{
            printf("%d.", digt >> (3-i)*8 & 0xFF);
        } 
    }
    
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 10:56
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务