数制系统——二、十、十六进制的相互转换

news2024/9/22 13:34:58

目录

1 二进制数制系统

1.1 二进制和 IPv4 地址

1.2 二进制位置记法

1.3 将二进制数转换为十进制数

1.4 十进制到二进制的转换

1.4.1 二进制和十进制互相转换游戏链接

1.5 Pv4 地址

2 十六进制数制系统

2.1 十六进制和 IPv6 地址

2.2 十进制到十六进制的转换

2.3 十六进制到十进制的转换


前言:

这是一个网络中计算机的 32 位 IPv4 地址:11000000.10101000.00001010.00001010。它以二进制显示。这是以点分十进制显示的同一台计算机的 IPv4 地址:192.168.10.10。您想和哪一个一起工作? 而IPv6 地址是 128 位!为了使这些地址更易于管理,IPv6 使用 0-9 和字母 A-F组成的十六进制系统。

作为网络管理员,您必须知道如何将二进制地址转换为点分十进制地址,以及将点分十进制地址转换为二进制地址。您还需要知道如何将点分十进制转换为十六进制,反之亦然。(提示:您仍然需要您的二进制转换技能来实现这一点。)

1 二进制数制系统

1.1 二进制和 IPv4 地址

IPv4地址以二进制开头,仅包含1和0。这很难管理,因此网络管理员必须将它们转换为十进制。本主题向您展示了几种实现它的方法。

二进制是指包含数字 0 和 1 位的数制系统。相比之下,十进制数制系统是由数字 0 - 9 共 10 位数字组成。

理解二进制对于我们很重要,因为主机、服务器和网络设备使用二进制编址。具体地说,它们使用二进制 IPv4 地址,如图所示,以识别彼此。

每一个地址包含一串 32 位字符串,并分为四个部分,称为二进制八位组。每一个二进制八位组包含 8 位(或 1 个字节),用句点分隔。例如,为图中的 PC1 分配的 IPv4 地址为 11000000.10101000.00001010.00001010。其默认网关地址将为 R1 千兆以太网接口地址 11000000.10101000.00001010.00000001。

二进制可以与主机和网络设备很好地协同工作。然而,这对人类来说是非常具有挑战性的。

为了方便人们使用,IPv4 地址通常表达为点分十进制记法。为 PC1 分配的 IPv4 地址为 192.168.10.10,其默认网关地址为 192.168.10.1,如图所示。

为了扎实理解网络编址,必须了解二进制编址,并且掌握在 IPv4 地址的二进制和点分十进制之间转换的技能。此部分介绍如何在以 2(二进制) 为基数的数制系统和 10 (十进制)为基数的数制系统之间进行转换。

1.2 二进制位置记法

要学习将二进制转换为十进制,需要先了解位置记数法。位置记数法即根据数字在数字序列中所占用的位置,表示不同的值。您已经了解最常见的数制系统,即十进制(以 10 为基数)计数法系统。

十进制位置记数法系统按照表中所示进行运算。

基数10101010
位置号3210
计算(10^3)(10^2)(10^1)(10^0)
位置值1000100101

以下项目符号描述了表中的每一行。

  • 第 1 行,基数是可使用数字符号的数目。十进制记法基于 10,因此基数为 10。
  • 第 2 行,位置号考虑十进制数字的起始位置,从右到左依次为 0(第 1 位置)、1(第 2 位置)、2(第 3 位置)、3(第 4 位置)。这些数字还表示用于计算位置值的指数值(第 4 行)。
  • 第3行通过将基数乘以其在第2行中的位置的指数值来计算位置值。
    注意: n^0 = 1。
  • 第 4 行位置值表示千位、百位、十位和个位。

要使用位置系统,所给数字必须与其位置值相匹配。表中的示例描述了位置记数法与十进制数字 1234 的使用。

千位百位十位个位
位置值1000100101
十进制数 (1234)1234
计算1 x 10002 x 1003 x 104 x 1
把它们加起来1000+ 200+ 30+ 4
结果1,234

相比之下,二进制位置记数法的运算如表所示。

基数22222222
位置号76543210
计算(2^7)(2^6)(2^5)(2^4)(2^3)(2^2)(2^1)(2^0)
位置值1286432168421

以下项目符号描述了表中的每一行。

  • 第 1 行,基数是可使用数字符号的数目。二进制记数法基于 2,因此基为 2。
  • 第 2 行,位置号考虑二进制数字的起始位置,从右到左依次为 0(第 1 位置)、1(第 2 位置)、2(第 3 位置)、3(第 4 位置)。这些数字还表示用于计算位置值的指数值(第 4 行)。
  • 第3行通过将基数乘以其在第2行中的位置的指数值来计算位置值。
    注意: n0 = 1。
  • 第 4 行位置值表示一位,二位,四位,八位等。

表中的示例举例说明了二进制数字 11000000 如何与数字 192 对应。如果二进制数字为 10101000,则其对应的十进制数字为 168。

位置值1286432168421
二进制数 (11000000)11000000
计算1 x 1281 x 640 x 320 x 160 x 80 x 40 x 20 x 1
把它们加起来..128+ 64+ 0+ 0+ 0+ 0+ 0+ 0
结果192

1.3 将二进制数转换为十进制数

要将二进制 IPv4 地址转换为其点分十进制等值,将 IPv4 地址分为四个 8 位二进制八位组。下一步,将二进制位置值应用于第一个二进制八位组二进制数字并进行相应计算。

例如,将 11000000.10101000.00001011.00001010 作为主机的二进制 IPv4 地址。要将这个二进制地址转换为十进制,先转换第一个二进制八位数,如表所示。在第 1 行的位置值下输入 8 位二进制数字,然后计算出十进制数字 192。192 为点分十进制记法的第一个二进制八位组。

位置值1286432168421
二进制数 (11000000)11000000
计算1286432168421
把它们加起来...128+ 64+ 0+ 0+ 0+ 0+ 0+ 0
结果192

接下来转换 10101000 的第二个八位组,如表中所示。结果十进制值为 168,它属于第二个二进制八位组。

位置值1286432168421
二进制数 (10101000)10101000
计算1286432168421
把它们加起来...128+ 0+ 32+ 0+ 8+ 0+ 0+ 0
结果168

转换 00001011 的第三个八位组,如表中所示。

位置值1286432168421
二进制数 (00001011)00001011
计算1286432168421
对它们求和...0+ 0+ 0+ 0+ 8+ 0+ 2+ 1
结果11

转换 00001010 的第四个八位组,如表中所示。这样就完成了 IP 地址并生成 192.168.11.10

位置值1286432168421
二进制数 (00001010)00001010
计算1286432168421
对它们求和...0+ 0+ 0+ 0+ 8+ 0+ 2+ 0
结果10

1.4 十进制到二进制的转换

了解点分十进制 IPv4 地址到二进制的转换同样很有必要。二进制位置值表就是一个很有用的工具。为了帮您了解这个过程,设想 IP 地址为 192.168.11.10。

使用先前说明的位置记法过程将第一个八位组数字192转换为二进制。

对于较简单或较小的十进制数字可以忽略减法步骤。例如,请注意,计算第三个八位组转换为二进制数是相当容易的,无需实际执行减法过程(8 + 2 = 10)。第三个二进制八位组的二进制值为 00001010。

第四个二进制八位组为 11 (8 + 2 + 1)。第四个二进制八位组的二进制值为 00001011。

二进制和十进制之间的转换最初可能比较难,但通过练习它会变得越来越容易。

 

1.4.1 二进制和十进制互相转换游戏链接

Cisco Learning Network

这个游戏大家可以试玩一下,能够很好的提高自己对二进制和十进制相互转化的能力

1.5 Pv4 地址

正如本主题开头提到的那样,路由器和计算机只能理解二进制,而人类则使用十进制。深入了解这两个数制系统以及它们在网络中的使用方式是非常重要的。

192.168.10.10 是分配给计算机的 IP 地址。该地址由四个不同的二进制八位数组成。计算机将该地址保存为整个 32 位数据流。

2 十六进制数制系统

2.1 十六进制和 IPv6 地址

现在您已经知道了如何将二进制转换为十进制以及将十进制转换为二进制。您需要该技能来了解网络中的 IPv4 编址。但是,您在网络中使用IPv6地址的可能性也很高。要了解 IPv6 地址,您必须能够将十六进制转换为十进制,反之亦然。

就像十进制是以 10 为基数的数制系统一样,十六进制是以 16 为基数的数制系统。以 16 为基数的数制系统使用数字 0 到 9 和字母 A 到 F。该图显示了 0000 到 1111 这些二进制数的十进制和十六进制值。

二进制和十六进制可以很好地协同工作,因为将一个值表示为一个十六进制数字比表示为四个二进制位要容易。

十六进制数制系统在网络中用于表示以太网 MAC 地址和 IP V6 地址。

IPv6地址长度为128位,每 4 位以一个十六进制数字表示,共 32 个十六进制值。IPv6 地址不区分大小写,可用大写或小写书写。

如图所示,书写 IPv6 地址的首选格式为 x:x:x:x:x:x:x:x,每个“x”均包括四个十六进制值。在指 IPv4 地址的 8 位时,我们使用术语八位组。在 IPv6 中,十六进制数是指代 16 位或四个十六进制值数据段的非官方术语。每个“x”均为一个十六进制数、16 位或四个十六进制值。

2.2 十进制到十六进制的转换

将十进制数字转换为十六进制值非常简单。请按照下列步骤操作:

  1. 将十进制数字转换为 8 位二进制字符串。
  2. 从最右边的位置开始,将二进制字符串分成四位一组。
  3. 将每四个二进制数转换为其十六进制等值数。

该示例提供了将 168 转换为十六进制的步骤。

例如,168 使用三步过程转换为十六进制。

  1. 168在二进制中是10101000。
  2. 10101000分两组,每组四位二进制数字是1010和1000。
  3. 1010 是十六进制 A,1000 是十六进制 8。

回答: 168 转换成十六进制是 A8。

2.3 十六进制到十进制的转换

将十六进制数字转换为十进制值也很简单。请按照下列步骤操作:

  1. 将十六进制数字转换为 4 位二进制字符串。
  2. 从最右边的位置开始创建8位二进制分组。
  3. 将每个 8 位二进制分组转换为其等效的十进制数字。

此示例提供了将 D2 转换为十进制的步骤。

  1. D2在4 位二进制字符串中是 1101 和 0010。
  2. 1101和0010在8位分组中是11010010。
  3. 二进制中的 11010010 等效于十进制中的 210。

回答: 十六进制中的 D2 是十进制中的 210。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/801968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【linux 结束pts/1踢人踢除另一个终端】

centos7上误执行了个命令,导致一直刷屏,强制CTRLC无法正常退出,一直出现如下: 网上搜索通过ctrlD,q均无法正常退出, 不想强行关掉,通过:who命令查看均用户: who mshns…

RocketMQ 行业分享

5.0的架构发生了重大调整,添加了一层rocketmq-proxy,可以通过grpc的方式接入。 参考 https://juejin.cn/post/7199413150973984827

plt绘制渐变颜色填充折线、曲线图

问题: 一般我们在绘制一些曲线或者折线图的时候需要进行颜色填充。例如 import matplotlib.pyplot as plt import numpy as npdata = np.loadtxt("0.txt").T x = data[0] y = data[1]fig, axs = plt.subplots(figsize=(4, 3)) axs.plot(x, y)# 设置xy轴范围 plt.x…

提升设计效率,深入解析CAD中的辅助命令

在CAD设计中,辅助命令是提高效率和精度的重要工具。无论是初学者还是有经验的设计师,掌握正确使用CAD中的辅助命令对于优化设计流程至关重要。本文将为你介绍一些常用的辅助命令,并分享如何正确运用它们来提升CAD设计的质量和效率。 正交函数…

无GPS下的自动驾驶系统解决方案

摘要: 随着自动驾驶技术的发展,在未知环境中智能汽车的定位技术成为该领域研究的核心。目前定位技术主要的解决方案是基于全球定位系统(GPS),但是在某些特殊的环境中如下车库,没有 GPS 信号如何解决定位问…

(MYSQL)数据库服务端的启动与停止,登录与退出

MYSQL服务的启动与停止 方式一:右击左下角win图标——选择计算机管理——选择计算机管理(本地)——选择服务和应用程序——找到mysql(此方法不好用) 方式二:通过管理员身份运行(必须是管理员身…

【C++11】——列表初始化、声明及STL变化

目录 1. C11简介 2. 统一的列表初始化 2.1 {}初始化 2.2 initializer_list容器 3. 声明 auto decltype nullptr 4. STL 中的一些变化 1. C11简介 在2003年C标准委员会曾经提交了一份技术勘误表(简称TC1),使得C03这个名字已经取代了C98称为C11之前的最新C标…

正则表达式方法学习

正则表达式学习 1.能干嘛2.创建正则表达式3.关于正则表达式的方法3.1 正则的方法3.1.1 test3.1.2 compile3.1.3 exec捕获组对象具名捕获组对象非捕获组对象 3.2 String类型的对象的正则相关的方法3.2.1 search()3.2.2 replace()3.2.3 split()3.2.4 match()3.2.5 matchAll() 1.能…

电子科技大学入驻飞桨AI Studio高校专区,AI优质课程等你来学!

近日,电子科技大学高校专区在飞桨人工智能学习与实训社区AI Studio上线,双方将携手搭建人工智能教学实训平台专区,汇集优质教学实训资源,校企共同培育复合型 AI 人才,为国家输送高质量人才,促进国家智能化进…

13 Linux实操篇-Linux网络配置

13 Linux实操篇-Linux网络配置 文章目录 13 Linux实操篇-Linux网络配置13.1 NAT网络配置13.1.1 原理图讲解13.1.2 VMware虚拟网络编辑器13.1.3 查看Windows的网络配置-ipconfig13.1.4 查看Linux的网络配置-ifconfig13.1.5 网络检测检测工具-ping 13.2 Linux网络环境配置13.2.1 …

1400*B. Karen and Coffee

Examples input 3 2 4 91 94 92 97 97 99 92 94 93 97 95 96 90 100 output 3 3 0 4 input 2 1 1 1 1 200000 200000 90 100 output 0 解析: 题意为,给你多个区间(会有重叠),每个区间的每个值都会为这个值累加…

server.max-http-header-size设置不当引发的线上OOM案例分析

问题现象 后台服务日志,大量报出如下异常,关键字:java.lang.OutOfMemoryError: Java heap space,问题指向:o.a.c.h.Http11NioProtocol [DirectJDKLog.java:175] Failed to complete processing of a request 问题定…

1071. 字符串的最大公因子

题目描述: 主要思路: ①:暴力依次判断每一段字符是否可以构成s和t ②:计算st串长度的最大公因子,判断是否可以构成 class Solution { public:bool check(string t,string s){string ans"";while(ans.lengt…

Squid代理配置

某些平台的服务需要配置白名单IP或服务器,我们配置了某个服务器,但是其他服务器也想访问这个平台,可以在白名单服务器上安装Squid,将其他服务器的服务代理到目标平台。 一、安装配置squid 首先在白名单服务器上安装squid: 1.切换…

pycharm粘贴代码出现zwsp

pycharm复制粘贴代码会出现zwsp pycharm复制粘贴代码会出现zwsp,这个不要担心, 解决方法一 选中 2.ctrlr跳出页面点击全部替换 3.全部替换完成,完美解决:

助力企业数字化转型的利器——奥威BI系统

如今,随着信息技术的迅猛发展,企业数字化转型已经成为不可回避的趋势。在这个数字化时代,企业需要根据大量的数据来做出准确的决策,抢占市场先机。而BI系统则成为一种帮助企业实现数字化转型的利器,其中以奥威BI系统为…

C. Tree Permutation

Problem - C - Codeforces 思路:这是一个树排列问题,只要求出所有的排列对应的情况然后除以排列的种类就可以了,对于一个排列来说n!来说,因为每个数的地位都是相等的,每条边的地位也是相等的(相邻的两个数为…

Java-方法的使用

一、方法的概念和使用 1.1方法的含义 方法就是一个代码片段. 类似 C语言中的函数. 方法的作用: 1.能够模块化的组织代码(当代码规模比较复杂时)。 2.代码被重复使用, 一份代码可以在多个位置使用。 3.让代码更好理解更简单…

【Linux命令200例】indent对C语言代码进行缩进和格式化

🏆作者简介,黑夜开发者,全栈领域新星创作者✌,2023年6月csdn上海赛道top4。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过具体的系统的命令讲解加上鲜活的实操案例对各个命令进行深入…

力扣算法数学类—剑指 Offer 44. 数字序列中某一位的数字

目录 剑指 Offer 44. 数字序列中某一位的数字 题解: 代码: 数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4&am…