IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位。8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间。有的时候,比如为了换算子网掩码,我们需要将IP地址还原成二进制串的形式,如:11000000101010000000110000100001。今天小编看到一个例子就是来完成这个操作的。

代码如下:

$ipV4 = '192.168.12.33'

-join ($ipV4.Split('.') | ForEach-Object {[System.Convert]::ToString($_,2).PadLeft(8,'0')})

#-join是把多个结果对象或数组元素组合在一起输出。

结果将显示为:

11000000101010000000110000100001

我们也可以修改一下程序,分别显示出每一段的转换后的形式:

$ipV4.Split('.') | ForEach-Object {

'{0,5} : {1}' -f $_, [System.Convert]::ToString($_,2).PadLeft(8,'0')

}

结果将显示如下:

192 : 11000000

168 : 10101000

12 : 00001100

33 : 00100001

最后补充说明一下这一句“[System.Convert]::ToString($_,2)”的理解。首先$_表示当前循环变量,把一个点分十进制的IP使用Split方法打散后,每个循环变量就是各个数字了,即192、168、12、33。而“[System.Convert]::ToString($_,2)”的意思是把这些数字转换为二进制的字符串。关于[System.Convert]::ToString的详细理解,可以参数下面几个例子:

#二进制

PS C:\Users\小编> [System.Convert]::ToString(16,2);

10000

#八进制

PS C:\Users\小编> [System.Convert]::ToString(16,8);

20

#十进制

PS C:\Users\小编> [System.Convert]::ToString(16,10);

16

#十六进制

PS C:\Users\小编> [System.Convert]::ToString(16,16);

10

bash 将二进制转换为十进制_PowerShell把IP地址转换成二进制的方法相关推荐

  1. 二进制转换为十进制c语言编程,将二进制IP地址转换成十进制(C语言程序实现)

    将二进制IP地址转换成十进制(C语言程序实现) /* * Name: IP Address * Funcion: To convert binary numbers to decimal number ...

  2. ip 十进制 整型 java_IP地址转换成10进制整数(zt)

    一.由域名求IP地址的程序 下面程序由命令行输入域名,输出ip import java.net.*; public class nslookup { //Usage:java nslookup hos ...

  3. 【面试题】将ip地址转换成整数

    题目:将ip地址转换成整数 开始用了最粗暴的方法,将四段分别转换成二进制连接起来,然后扫描一遍,累加求和.效率太低. 假设ip地址:110.111.112.113,即为A.B.C.D,转换成整数只需要 ...

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

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

  5. ip地址转换数字函数 iton_字符串IP地址转换成IP数值函数

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN ...

  6. bash 将二进制转换为十进制_6、计算机进制之二进制、十进制、十六进制之间的转换...

    1.计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用的数字符号的个数 位权:指在某种 ...

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

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

  8. python将list转换为dataframe_Pandas把dataframe或series转换成list的方法

    把dataframe转换为list 输入多维dataframe: df = pd.DataFrame({'a':[1,3,5,7,4,5,6,4,7,8,9], 'b':[3,5,6,2,4,6,7, ...

  9. php讲图片转换成二进制,如何把php中的图片转换成二进制

    如何把php中的图片转换成二进制 发布时间:2020-07-08 15:58:46 来源:亿速云 阅读:110 作者:Leah 本篇文章给大家分享的是有关如何把php中的图片转换成二进制,小编觉得挺实 ...

最新文章

  1. html2Escape js 转义
  2. Python入门——石头剪刀布程序
  3. Android Studio中引入RecyclerView的v7包
  4. Java中AJAX工作原理是什么
  5. angularjs 表单校验指令_angular4.0的模板式表单、响应式表单及其错误提示
  6. Linux 内核 cgroups 新漏洞可导致攻击者逃逸容器
  7. laravel连接oracle6,Laravel 使用 Oracle 数据库
  8. 数据库系统之NoSQL数据库系统
  9. 实现真正的「人机」对战:引入三方 AI 引擎
  10. 可信任的人工智能(三)
  11. 计算机word降序排列怎么做,怎么降序排列word
  12. 吴伯凡-认知方法论-为什么说“盲维”是认知升级的重要概念
  13. 想让游戏代入感更强,要靠他。。
  14. CTF-BeesCMS系统漏洞分析溯源
  15. python snmp_cmds库snmpwalk 中文正常显示方法
  16. 小米更新到MIUI13版本后,进行android调试,出现无法实现USB下载安装的问题
  17. 2019 - iOS最新最全面试题梳理(内含框架和算法题)
  18. RabbitMQ系列3之运行和Rabbit服务
  19. java 代码的规范
  20. .net调用百度api统计接口

热门文章

  1. 营收毛利净利均双位数增长,亚信科技掌握了什么秘诀?
  2. laradock卡在raw.githubusercontent.com,怎么办
  3. Redis的常用命令,Redis常用操作命令
  4. 连续状态方程离散化与凸包表示形式
  5. 017利用颅内和头皮脑电图进行癫痫预测的卷积神经网络2018
  6. iOS 视频播放之MPMoviePlayerController
  7. linux 删除卸载软件
  8. iOS-Xcode Archive 不生成dsym文件的解决方法
  9. android 错误中英互译,安卓手机Recovery模式刷机情况下的中英文对照翻译
  10. JSON是什么,主要用来做哪方面的工作?