批处理将IP地址转换为二进制形式

批处理将IP地址转换为二进制形式


这是个副产品。
正文请看批处理设置IP,适用Windows系统


@echo off
setlocal  ENABLEDELAYEDEXPANSION

set ip=255.255.255.0
::先将IP的4位数字提取
for /f "delims=. tokens=1,2,3,4" %%a in ("%ip%") do (
::每个数字都转换为二进制数字
for %%i in (%%a %%b %%c %%d) do (
call :Dec2Bin %%i
set ip_bin=!ip_bin!!bin_num!
))
echo.%ip_bin%
pause
:Dec2Bin
set dec_num=%1
set "bin_num="
::十进制转换为二进制数
:Dec2Bin_loop
set /a quotient=%dec_num% / 2
set /a remainder=%dec_num% %% 2
set bin_num=%remainder%%bin_num%
if %quotient% gtr 1 (
set dec_num=%quotient%
goto Dec2Bin_loop
)
if not %quotient% equ 0 set bin_num=%quotient%%bin_num%
if %1 gtr 127 goto :eof
::将二进制数格式化为长度8位
set len=0
:len_loop
call set u=%%bin_num:~!len!,1%%
if not "!u!"=="" (
set /a len+=1
goto len_loop
)
if %len% lss 8 (
set /a _len=8-%len%
for /l %%a in (1 1 !_len!) do set bin_num=0!bin_num!
)
goto :eof
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值