Java 中将 IP 转换为二进制17 Mar 2025 | 4 分钟阅读 在计算机中,基本转换(如十进制到二进制或反之)是一项重要的任务。在网络中,理解 IP 地址和子网划分非常重要。IP 地址是网络的主要功能。对于网络工程师来说,分配 IP 地址,通过子网确定网络 ID 或主机 ID 是一项至关重要的任务。 对简单事情有扎实的理解可以使复杂任务更容易。在本节中,我们将讨论如何将 IP 地址转换为二进制。 ![]() 将 IP 地址转换为二进制以下是如何将十进制 IP 地址转换为其二进制形式的步骤,无需记忆。 为了记住数值,从数字 1 开始,从右向左移动。将该数字加倍七次。 例如,从右侧的 1 开始。下一个数字(第二个)将是第一个数字的两倍,即1*2=2。对于第三个数字,将最后一个数字(2)加倍,即2*2 = 4。对于第四个数字,将最后一个数字(4)加倍,即4*2 = 8。重复该过程,直到我们将原始数字加倍七次。 将数字加倍七次后,按行排列数值。因为我们将为数值分配 0 或 1。 为了将 IP 地址转换为二进制,我们将获取数字字符串并从左到右开始。对于每个值,我们都有一个问题:“我能从剩余的十进制数中减去这个值吗?”如果可以,则在此处放置1,否则放置0。 另一种放置 0 或 1 的方法是,通过添加哪些值可以得到 IP 地址的十进制值。如果通过添加三个值得到十进制值,则在它们下方放置1,并在其余值下方放置0。 让我们通过一个例子来理解上述步骤。 示例例如,我们需要将以下 IP 地址转换为二进制。 192.168.32.2 每个表示 8 位,即 32 位 IP 地址。 用 2n 表示 8 位,其中 n 表示幂 n,n+1,n+2,n+3,…,依此类推。让我们以 8 位写出这些值。 20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128 为了方便,请按行写出数值 1 2 4 8 16 32 64 128 通过将 64 和 128 相加得到192,因此我们将在 64 和 128 下方写 1-1,并在其余数值下方写 0。因此,192 的二进制表示是 192: 00000011 通过将 8、32 和 128 相加得到168,因此我们将在 8、32 和 128 下方写 1-1。因此,168 的二进制表示是 168: 00010101 同样,32 的二进制表示是 32: 00000100 同样,2 的二进制表示是 2: 01000000 请注意,当我们组合二进制 IP 地址时,请将每个部分的二进制表示颠倒。因此,IP 地址192.168.32.2的二进制表示是11000000.10101000.00100000.00000010。 Java 程序将 IP 地址转换为二进制IpToBinaryConverter.java 输出 Please enter an IP Address. 192.168.32.2 11000000 10101000 100000 10 注意:上面的程序仅将 IPv4 地址转换为二进制。使用 IPAddress Java 库这是一个开源的 Java 库,用于处理 IP 地址和子网。它同时兼容 IPv4 和 IPv6 地址。 注意:在运行以下程序之前,请确保 ipaddress-5.3.4.jar 文件已附加到您的项目中。我们也可以将依赖项添加到 pom.xml 文件中。ConvertIpToBinary.java 输出 1 Enter IP address: 235.145.38.12 235.145.38.12 is equivalent to 11101011100100010010011000001100 输出 2 Enter IP address: a:b:c:d:e:f:a:b a:b:c:d:e:f:a:b is equivalent to 00000000000010100000000000001011000000000000110000000000000011010000000000001110000000000000111100000000000010100000000000001011 下一主题Java Macro |
在计算机编程中,队列是一种基本的数据结构,它以线性顺序存储项目,并遵循“先进先出”(FIFO)原则。这意味着第一个被移除的元素将是第一个被添加的元素。例如工作调度、事件管理……
阅读 8 分钟
? Java 程序经常需要解析日期和时间,尤其是那些涉及计划、事件管理和数据分析的程序。LocalDate、LocalTime、LocalDateTime 和 DateTimeFormatter 类只是 Java 中用于处理日期和时间的类和方法中的一部分。要分解日期和...
阅读 4 分钟
在本节中,我们将了解 Java 中的 Xmx 是什么,以及如何为 Java 应用程序设置最大堆大小。在 Java 中,有时当我们运行 Java 应用程序时,会收到类似以下的错误消息:Error occurred during initialization of VM. Could not reserve...
阅读 3 分钟
Codility 的 Passing Cars 问题只是众多典型算法问题之一,其主要目标是确定在同一条道路上朝相反方向行驶的有效成对汽车的总数。更具体地说,问题要求计算...
阅读 4 分钟
重叠区间问题是应用到调度应用程序中的一个重要的计算挑战,同时也应用于计算几何和范围合并任务。给定一个区间范围,目标是快速处理它们以进行合并区间检测。两个区间 [a,... (省略了其他部分)
5 分钟阅读
在 Java 中,接口变量和枚举都用于定义常量,但它们用于不同的目的。接口变量 在 Java 中,接口内声明的所有变量都隐式地是 public、static 和 final。这意味着它们是属于接口本身的常量,...
5 分钟阅读
在设计表单时,电子邮件起着重要作用。电子邮件可以是我们的用户名或登录 ID。电子邮件有其自身的结构,在使用之前,我们需要对其进行验证。在 Java 中,电子邮件验证是通过使用正则表达式来执行的。电子邮件验证是...
阅读 3 分钟
Java 中的类型转换是开发人员将一种数据类型转换为另一种数据类型的基本概念。它对于在各种情况下处理数据至关重要,尤其是在处理不同类型的变量、表达式和方法时。在 Java 中,类型转换是...
阅读 6 分钟
? 在这里,我们将检查使用循环来开发更高效的代码。普遍认为,实现循环来解决问题陈述是一种不明智的策略。尽管如此,这里仍有大量的试错空间。要放置...
阅读 6 分钟
在本节中,我们将讨论如何在 Java 中打印国旗图案。国旗图案很少被面试官问到,因为它们很难编码。在这里,我们了解两个不同国家(即印度和美国)的国旗的代码。首先,我们...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India