IP地址转换

总时间限制:
1000ms
内存限制:
65536kB
描述

IP地址总是由4个0-255的数字以"."隔开的形式来显示给用户,例如192.168.0.1。在计算机中,一个IP地址用4字节来依次存储其从右到左的4个数字部分,每个字节(8比特)以2进制的形式存储相应的IP地址数字,请你实现一个从IP地址的显示格式到计算机存储格式的转换。

输入
每行输入一个IP地址,如果输入为-1,结束输入
输出
每行输出一个IP地址在计算机存储中以二进制表示的4字节内容
样例输入
192.168.0.1
255.255.0.0
1.0.0.1
-1
样例输出
11000000101010000000000000000001
11111111111111110000000000000000
00000001000000000000000000000001

问题链接:Bailian4039 IP地址转换

问题分析:这是一个十进制数转换为二进制数的问题。

程序说明:需要注意输入格式、计算结果的存储和输出格式等问题。

题记:公共的功能封装到函数中,可以重复使用。

 

AC的C语言程序如下:

/* Bailian4039 IP地址转换 */#include <stdio.h>#define BASE 2
#define N 32
char ans[N + 1];void set(int v, int n)
{int i;for(i=0; i<8; i++) {ans[n--] = '0' + v % BASE;v /= BASE;}
}int main(void)
{int ip1, ip2, ip3, ip4;ans[32] = '\0';while(scanf("%d", &ip1) != EOF && ip1 != -1) {scanf(".%d.%d.%d", &ip2, &ip3, &ip4);set(ip1, 7);set(ip2, 15);set(ip3, 23);set(ip4, 31);printf("%s\n", ans);}return 0;
}

Bailian4039 IP地址转换【进制】相关推荐

  1. ip地址转换成16进制long

    <span style="font-size:18px;">public class IpUtil {/*** ip地址转换成16进制long* @param ipSt ...

  2. 进制转换 PTA 7-6 IP地址转换

    7-6 IP地址转换 (20分) 一个IP地址是用四个字节(每个字节8个位)的二进制码组成.请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出. 输入格式: 输入在一行中给出32位二进 ...

  3. 实验:IP地址转换(超好用的substr();)

    首先介绍c++中超好用的截取部分字符串的函数substr(); 头文件为#include<string> 函数原型: string substr(int pos = 0,int n ) c ...

  4. 快手,字节面试题,将IP地址转换成整数类型,再转换回来。C++代码

    题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字       ...

  5. python整数与IP地址转换

    我们有时会将一个整数与IP地址进行互换,用python代码实现很简单 将一个整数如2000000,变为一个IP地址的方式 >>> import socket >>> ...

  6. PTA IP地址转换 简单方法Java

    PTA IP地址转换 简单方法Java 题目介绍 一个IP地址是用四个字节(每个字节8个位)的二进制码组成. 请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出.输入格式: 输入在一行 ...

  7. python整数与IP地址转换 [转]

    原文地址为: python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单 将一个整数如2000000,变为一个IP地址的方式 >>> ...

  8. linux的基础知识——网络字节序转化,ip地址转换函数,sockaddr数据结构

    1.网络字节序 TCP/IP协议规定,网络数据流采用大端字节序,即低地址高字节.为了使网络程序具有可移植性,使得同样的C代码在大端和小端计算机上编译后都能正常运行,可以调用以下库函数做网络字节序和主机 ...

  9. [JS]ipv6地址16进制格式转换为二进制表示

    描述:ipv6地址16进制格式转换为二进制表示 ipv6地址格式:3001:0000:0000:0000:0000:0000:1111:1111 方案1: //传入str_16_based:3001: ...

最新文章

  1. 牡丹江2021高考成绩查询,2020年黑龙江牡丹江成人高考成绩查询入口(已开通)...
  2. 怎么样尽可能多的学习
  3. GPS定位系统源码二次开发就选专为二次开发而生的GPSBD...
  4. Repeater,DataList,DataGrid 【转】
  5. 让我们用jOOλ在Java 8中流式传输地图
  6. Windows中获取和设置系统日期时间的C程序
  7. 【CSS3】CSS3文本字体相关属性大全
  8. computational science education project
  9. tf.contrib.data.Dataset 读取数据的原理--buffer
  10. 纸鸢|物联网云平台小工具集合常见 MQTT 客户端比较
  11. SG90舵机驱动,有代码
  12. 提示文件损坏无法删除时如何删除文件
  13. 14.PIO源码详解4-PIO_EP模块(PIO_EP.v)剖析
  14. WDS桥接副路由器有线上网方法
  15. uniapp小程序展示3D模型
  16. SpringBoot集成JWT实现Token登录验证
  17. 我擦C++ 反人类啊
  18. 小鸟云:因被黑客窃取190GB文件 厄瓜多尔国营电信公司决定采用云服务器
  19. PIC16F887 单片机 电压检测
  20. linux最新内核4.19,Linux Kernel 4.19内核为长期支持版本,有诸多新功能及改进

热门文章

  1. etcd-java使用
  2. 使用PagedDataSource类实现分页
  3. istio sidecar流量接管_Istio是个啥?看完此文彻底搞懂(赠书)
  4. 微信小程序服务器api接口的路径,微信小程序-封装请求基准路径、接口API 和使用...
  5. 学习java第一天 (大白(●—●))
  6. ubuntu18.04下hadoop安装与集群配置
  7. jfinal 一对一 实体类怎么写_新祥旭考研一对一:考前必知的四大答题技巧
  8. 乐视android系统耗电量大,乐视手机突然充电慢耗电快,怎么解决?
  9. python-两种方法实现:从字符串中找出 出现次数最多的 字母和 对应出现的个数
  10. LeetCode35. 搜索插入位置(二分查找)