任意进制数互转【批处理】

代码
 1  @echo   off & setlocal  EnableDelayedExpansion&color 1f
 2  title 任意进制数互转
 3  set   " str=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ "
 4  for   / l %%a in  ( 0   1   35 )   do   (
 5      set  _%%a = !str:~%%a , 1 !
 6      set  _!str:~%%a , 1 ! = %%a
 7  )
 8  :start
 9  setlocal & cls
10  echo \ & echo   本程序可将任意进制的数( 1 36 )转换成指定进制的数。
11  echo \ & echo   输入方法: 需转换的数 空格 输入的数的进制 空格 被转换成的进制
12  echo \ & echo   如需将  16  进制数 2af5 转换为  8  进制
13  echo \ & echo   则输入 2af5  16   8    用空格分开即可
14  set   / p zjz =  & cls
15  call   :fff  !zjz!
16  set  num = !var!
17  if  !qz! neq  10   call   :loop
18  if  !hou! equ  10   goto  xs
19  :lis   10  进制转 n 进制
20      set   / a yu = num%%hou , num /= hou
21      call   set  jie = !!_%yu%!!!jie!
22      if  !num! gtr  0   goto  lis
23      set  num = !jie!
24  :xs
25     echo \ & echo   !qz! 进制数 !var!  
26     echo \ & echo   !hou! 进制数 !num!
27  pause > nul
28  endlocal
29  goto   start
30  :loop    n 进制转  10  进制
31     for   / l %%a in  ( 0   1   100 )   do   (
32     if   not   " !var:~%%a,1! " == ""   (
33     call   set  sun = %%_!var:~%%a , 1 !%% !sun!
34  ))
35     set   / a nnn = 1 , num = 0
36     for  %%a in  ( !sun! )   do   (
37     set   / a num = %%a*nnn + num
38     set   / a nnn* = qz
39  )
40  goto   :eof
41  :fff
42  set  var = %1 & set  qz = %2 & set  hou = %3
43  goto   :eof

 

转载于:https://www.cnblogs.com/nsnow/archive/2010/07/14/1776885.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值