Board logo

标题: [数值计算] 如何编写16进制转换到10进制的数值换算批处理? [打印本页]

作者: SmallCrow    时间: 2011-3-13 21:07     标题: 如何编写16进制转换到10进制的数值换算批处理?

如题,最好能是互相的,就是两个选择,可以选择从16进制转换到10进制,也能选择从10进制转换到16进制。
还有重要的一点就是,转换的数值是分段转换的,比如“12345678”是十进制,要求转换的结果是,分别把“12”、“34”、“56”、“78“转成16进制,也就是0C22384E。这个请高手们给点意见,我对进制转换这边需要的代码还不知道。
作者: batman    时间: 2011-3-13 22:00

请楼主先搜索下再提问好不?
作者: CrLf    时间: 2011-3-13 22:50

十进制转十六进制:
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p 十进制=请输入要转换的十进制数
  3. for /l %%a in (1 1 8) do (
  4.      set /a 余=十进制%%16,十进制/=16,tmp=余+100
  5.      set yu=!tmp:~1! !yu!
  6. )
  7. set yu=%yu:00=0%
  8. for %%a in (1 2 3 4 5 6 7 8 9 A B C D E F) do (
  9.      set /a n+=101
  10.      for %%b in (!n:~-2!) do (
  11.          set yu=!yu: %%b= %%a!
  12.      )
  13. )
  14. echo 0x%yu: =%
  15. pause
复制代码
十六进制转十进制:
  1. set /p 十六进制=请输入十六进制数字
  2. set /a 十进制=0x%十六进制:*x=%
  3. echo %十进制%
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2