标题: CMD下如何把得到的10进制转换成16进制?
[打印本页]
作者: voiL
时间: 2006-6-26 01:19
标题: CMD下如何把得到的10进制转换成16进制?
XP命令行下该如何实验??
条件:不用第三方工具.
作者: 220110
时间: 2006-6-27 20:17
给个思路:
先用set 获取用户的十进制数输入;再对该数循环取模,把取模所得的余数分别记录下来即可(由于我的CMD无法识别取模运算符%及%=,所以无测试过的代码贴上)
作者: 3742668
时间: 2006-6-28 15:49
@echo off
set /p 源数=输入十进制数字:
set /a 源数=%源数% || goto :eof
:dosomething
set /a 余数 = %源数% %% 16
set /a 源数 /= 16
call :转换 %余数%
set 余数=%ret%
set 计算结果=%余数%%计算结果%
if %源数% lss 16 goto end
goto dosomething
:转换
set ret=
if "%1" == "10" set ret=A
if "%1" == "11" set ret=B
if "%1" == "12" set ret=C
if "%1" == "13" set ret=D
if "%1" == "14" set ret=E
if "%1" == "15" set ret=F
if %1 lss 10 set ret=%1
goto :eof
:end
call :转换 %源数%
set 源数=%ret%
if "%源数%" == "0" set 源数=
echo 0x%源数%%计算结果%
set ret=
set 源数=
set 余数=
set 计算结果=
pause>nul
本来打算用中文变量名来增加可读性,结果由于没有什么好点的中文名词反而弄巧成拙。
多一句: 以后此类非纯DOS贴建议发到
DOS批處理 & 腳本技術(批處理室) 版。
[
Last edited by 3742668 on 2006-6-28 at 15:54 ]
作者: voiL
时间: 2006-7-1 09:36
OK,我知道了.
感谢3742668版主的帮助.