Windows bat脚本学习六(十六进制与十进制互转)

一、十六进制转十进制

        十六进制数转十进制数相对比较简单,可以直接通过0x来实现。

        见如下代码:

@echo off
chcp 65001

set t=aa

set /a hex=0x%t%
echo data=%hex%
 
pause

        结果:

 

二、十进制转十六进制

        这个转化比较麻烦,没有简便的方式转化。见如下代码:

@echo off
chcp 65001

set code=0123456789ABCDEF

set dec=255
echo dec:%dec%
echo %dec%|findstr "[^0-9]"&&exit /b 1
:again
set /a tra=%dec%%%16
call,set tra=%%code:~%tra%,1%%
set /a dec/=16
set str=%tra%%str%
if %dec% geq 16 goto again
call,set dec=%%code:~%dec%,1%%
echo hex:0x%dec%%str%

 
pause

结果:

 

三、互转     

@echo off
chcp 65001
setlocal enabledelayedexpansion

set code=0123456789ABCDEF

set /a num=65535

call :dec2hex %num% hex
echo.
echo 结果:%errorlevel%
if %errorlevel%==0 (
	echo dec2hex结果=0x%hex%
	set /a ori=0x!hex!
	echo ori=!ori!
	) else (echo 转化错误)

pause

:dec2hex
set dec=%1
echo dec:%dec%
echo %dec%|findstr "[^0-9]"&&exit /b 1
:again
set /a tra=%dec%%%16
call,set tra=%%code:~%tra%,1%%
set /a dec/=16
set str=%tra%%str%
if %dec% geq 16 goto again
call,set dec=%%code:~%dec%,1%%
echo hex:0x%dec%%str%
set hex=%dec%%str%
exit /b 0


endlocal

        结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值