中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 05:36
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 用DOS可以写个33进制的运算器吗? 查看 765 回复 2
楼 主 用DOS可以写个33进制的运算器吗? 发表于 2007-07-03 07:58 ·  中国 广东 广州 电信
初级用户
积分 87
发帖 29
注册 2007-03-31 01:15
19年会员
UID 83440
性别 女
状态 离线
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
2 发表于 2007-07-03 15:23 ·  中国 江苏 无锡 电信
初级用户
积分 80
发帖 43
注册 2007-04-21 23:44
19年会员
UID 86017
性别 男
状态 离线
用P写?太繁琐了吧?
3 发表于 2007-07-03 17:56 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
借鉴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
论坛跳转: