Board logo

标题: 用DOS可以写个33进制的运算器吗? [打印本页]

作者: zhouxiaohuanv     时间: 2007-7-3 07:58    标题: 用DOS可以写个33进制的运算器吗?

0~9 A~Z    字母中除了(O,I,U)这三个

如:
01=00
02=01
03=02
04=03
05=04
06=05
07=06
08=07
09=08
10=09
11=0A
12=0B
13=0C
14=0D
15=0E
16=0F
17=0G
18=0H
19=0J
20=0K
21=0L
22=0M
23=0N
24=0P
25=0Q
26=0R
27=0S
28=0T
29=0V
30=0W
31=0X
32=0Y
33=0Z
77=2A
66=1Z
作者: tyh     时间: 2007-7-3 15:23
用P写?太繁琐了吧?
作者: zh159     时间: 2007-7-3 17:56
借鉴3742668的10进制转换成16进制
@echo off
setlocal enabledelayedexpansion
set /p Source=输入十进制数字:
set /a Source=%Source%||pause&&goto :eof

:dosomething
    set /a Remain = %Source% %% 33
    set /a Source /= 33
    call :Switch %Remain%
    set CoResult=%Remain%%CoResult%
    if %Source% lss 33 goto Result
goto dosomething

:Switch
set Num=-1
    for %%n in (0 1 2 3 4 5 6 7 8 9 A B C D E F G H J K L M N P Q R S T V W X Y Z) do (
      set /a Num+=1
      if "%1" == "!Num!" set Remain=%%n
    )
goto :eof

:Result
call :Switch %Source%
if "%Remain%" == "0" set Remain=
set 结果=%Remain%%CoResult%
set Source=
set Remain=
set CoResult=

echo.
echo.结果: %结果%
echo.

pause