可以处理大点的数- @echo off&setlocal enabledelayedexpansion
- set/p s=输入转换数:
- set/p x=请输入要转换的几进制?
- set str=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
- :lp
- set /a "n=8189,m=0,r=0"
- for /l %%a in (1,1,14) do (
- set /a "u=(n+m)/2"
- for %%i in (!u!) do if "!s:~%%i!" equ "" (set /a n=u) else set /a m=u
- )
- for /l %%i in (0,1,%u%) do (
- rem set/a "n=!s:~%%i,1!+(r*10),r=n&1,n>>=1"
- set/a "n=!s:~%%i,1!+(r*10),r=n%%x,n/=x"
- set v=!v!!n!
- )
- set b=!str:~%r%,1!!b!
- if "!v:0=!" neq "" set s=!v!&set "v="&goto lp
- echo "!b!"
- pause
复制代码
|