中间的一堆2进制就不计算了,直接计算最终结果。- @ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
- if "%1"=="" (
- set /p input=请输入:
- ) else (
- set "input=%~1"
- )
- set "str=0123456789ABCDEF"
- for /f "tokens=1-3 delims=- " %%a in ("!input!") do (
- set /a a1=%%a/16,a2=%%a %% 16,b1=%%b/16,b2=%%b %% 16,c1=%%c/16,c2=%%c %% 16
- for %%i in (!a1! !a2! !b1! !b2! !c1! !c2!) do set "num=!num!!str:~%%i,1!"
- )
- echo,这是16进制数!num!。
- set /a code=0x!num! %% (1"<<"14)
- echo,这是后14位的10进制数!code!。
复制代码
|