IP地址c++题解

这篇具有很好参考价值的文章主要介绍了IP地址c++题解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述

IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址。

IPv4 协议中规定使用 32 位二进制数字(4个字节)来表示计算机的IP地址,这个二进制数字通常被分割为4个" 8 位二进制数",用"点分十进制" 表示成a.b.c.d的形式,其中a,b,c,d 均小于等于 255 。

32位二进制数字中:

  • 第 1 位~第 8 位二进制数字所对应的十进制数字为a
  • 第 9 位~第 16 位二进制数字所对应的十进制数字为b
  • 第 17 位~第 24位二进制数字所对应的十进制数字为c
  • 第 25 位~第 32 位二进制数字所对应的十进制数字为d

例如:32 位二进制数字为:11000000 10101000 00000001 01100100中,

  • 11000000对应十进制数字192
  • 10101000对应十进制数字168
  • 00000001对应十进制数字1
  • 01100100对应十进制数字100

应此该二进制所对应的IP地址位192.168.1.100

现给定一个 32 位的二进制数字,请你将它转换为对应IP地址

输入格式

输入共一行:32 位二进制数字

输出格式

输出共一行:表示其对应IP地址,四个十进制数字之间用.隔开

数据范围

数据保证输入的 32位二进制数字合法文章来源地址https://www.toymoban.com/news/detail-693623.html

输入样例

11000000101010000000000101100100

输出样例

192.168.1.100

AC代码 

#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin>>s;
    int a[4]={};
    for(int i=0;i<32;i++){
        a[i/8]+=(s[i]-'0')*(1<<(7-i%8));
    }
    cout<<a[0]<<"."<<a[1]<<"."<<a[2]<<"."<<a[3]<<"\n";
    return 0;
}

到了这里,关于IP地址c++题解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VMware 修改ip地址 虚拟机静态ip设置 centos动态ip修改为静态ip地址 centos静态ip地址 vmware修改ip地址

     虚拟机的centos服务器经常变换ip,测试起来有些麻烦,故将动态ip修改为静态ip 1. 查看vmware 虚拟机网络配置 :     点击编辑,打开虚拟网络配置  2. 选中nat模式 ,点击nat设置,最终获取网关ip: 192.168.164.2  3. 进入服务器, 编辑网络配置文件ifcfg-ens33 :          如果你的

    2024年02月11日
    浏览(43)
  • IP地址、子网掩码、网络地址、广播地址、IP网段

    本文主要讨论iPv4地址。 实际的 IP 地址是一串32 比特的数字,按照 8 比特(1 字节)为一组分成 4 组,分别用十进制表示然后再用圆点隔开,这就是我们平常经常见到的 IP 地址格式。 分类 范围 网络号 主机号 地址开始以(位) 默认子网掩码 用途 A类 1.0.0.0 - 126.0.0.0 前8位 后

    2024年02月09日
    浏览(52)
  • 标题统计(c++题解)

    凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。 输入文件只有一行,一个字符串 ss。 输出文件只有一行,包含一个整数,即作文标题的

    2024年02月13日
    浏览(23)
  • 统计方形(c++题解)

    1997年普及组第一题 有一个 n×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。 一行,两个正整数 n,m(n≤5000,m≤5000)。 一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。 输入 #1 复制 输出 #1 复制 ________________________________

    2024年02月14日
    浏览(25)
  • 幂次方(c++题解)

    任何一个正整数都可以用 22 的幂次方表示。例如 137=2^7+2^3+2^0。 同时约定方次用括号来表示,即 a^b 可表示为 a(b)。 由此可知,137137 可表示为 2(7)+2(3)+2(0) 进一步: 7= 2^2+2+2^0 ( 2^121 用 2 表示),并且 3=2+2^0。 所以最后 137 可表示为 2(2(2)+2+2(0))+2(2+2(0))+2(0)。 又如 1315=2

    2024年02月13日
    浏览(18)
  • 距离函数(c++题解)

    给出平面坐标上不在一条直线上三个点坐标 ,(x1​,y1​),(x2​,y2​),(x3​,y3​),坐标值是实数,且绝对值不超过 100.00,求围成的三角形周长。保留两位小数。 对于平面上的两个点 (x1​,y1​),(x2​,y2​),则这两个点之间的距离dis=(x2​−x1​)2+(y2​−y1​)2​ 输入三行,第 ii 行

    2024年02月15日
    浏览(30)
  • 图像模糊处理(c++题解)

    给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 四周最外侧的像素点灰度值不变; 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。 第一行包含两个整数n和m,表示图像包含像素点的行数和

    2024年01月22日
    浏览(26)
  • 如何算出IP地址、子网掩码、网络地址、广播地址、可用IP地址。

    本篇咱们从以下两个方面展开本篇的分享 重点理论 计算方法 IP地址分为IPV4和IPV6 IPV4 是由 32位二进制 组成,一般用 点十进制 来表示。 IPV6 是由 128位 组成,一般用 冒号分隔,十六进制 表示 由于咱们目前主用的是IPV4,所以接下来的内容咱们就围绕IPV4来分享。 IPV4分为私有网

    2024年02月04日
    浏览(45)
  • 分数线划定(c++题解)

    世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的 150% 划定,即如果计划录取 m 名志愿者,则面试分数线为排名第 m×150%(向下取整

    2024年02月14日
    浏览(25)
  • 如何划分ip地址 划分IP地址的方法

    我们每台电脑联网都有相对应的IP地址,如果用户不知道自己的ip地址,可以直接在百度上查找ip地址即可。可以使ip地址这么多,我们怎么识别ip呢。如何划分ip地址呢。这就是今天小编要介绍的内容了。 现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包