先来一个很粗糙的- @echo off
- set letters=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- for %%i in (%letters%) do set /a "%%i=1<<bit",bit+=1&call set _%%%%i%%=%%i
- set /p num=请输入:
- call :dec2bin %num% bin
- echo binary: %bin: =%
- for %%a in (%bin%) do call set "Reverse=%%a %%Reverse%%"
- for %%a in (%Reverse%) do set /a "value=(1<<index)*%%a",index+=1&call call set str=%%%%_%%value%%%%%% %%str%%
- for %%a in (%str%) do call set "result=%%a+%%result%%"
- echo %num%=%result:~,-1%
- for %%a in (%result:+= %) do call set "result2=%%result2%%+%%%%a%%"
- echo %num%=%result2:~1%
- echo.&echo.&pause&exit/b
-
- :dec2bin
- setlocal
- set str=0123456789abcdef%无必要%
- set /a b=%~1
- :lp
- set /a a=b%%2,b/=2
- call set "bin=%%str:~%a%,1%% %bin%"
- if %b% gtr 0 goto lp
- endlocal&set %~2=%bin%
- goto :EOF
复制代码
|