[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 qzwqzw 于 2016-3-29 09:43 编辑

也顺便分享一下自己用过的两段代码吧
算法都差不太多,只不过稍微精简了些代码
  1. @echo off & setlocal EnableDelayedExpansion
  2. set #i=22345
  3. set $t=0123456789ABCDEF
  4. set /a "#1=#i>>12,#2=(#i&0xF00)>>8,#3=(#i&0xF0)>>4,#4=#i&0xF"
  5. set #o=!$t:~%#1%,1!!$t:~%#2%,1!!$t:~%#3%,1!!$t:~%#4%,1!
  6. echo %#i%=0x%#o%
  7. pause
复制代码
  1. :dec2hex - %1 十进制数值 %2 十六进制变量名
  2. setlocal EnableDelayedExpansion
  3. set #i=%1
  4. set $t=0123456789ABCDEF
  5. for /l %%i in (1,1,8) do set/a"#%%i=#i&15,#i>>=4"&for %%e in (!#%%i!) do set #o=!$t:~%%e,1!!#o!
  6. endlocal & set %2=%#o%
复制代码
1

评分人数

    • CrLf: catch you!技术 + 1
天的白色影子

TOP

回复 8# CrLf

是好久没来了

话说9楼用到的在线HTA脚本似乎有一段时间了
有点“云计算”的意思
不知道是谁的大作啊?
天的白色影子

TOP

嗯,刚才翻了翻HTA库的源码
顺便也了解了一下该项目的源流
bat、vbs、js 原生混编
http://www.bathome.net/thread-34109-1-1.html
批处理之家 js 在线脚本库
http://www.bathome.net/thread-34544-1-1.html
确实奇思妙想浩帙鸿篇
几位主创均非一般
尤其CrLF更是非凡
天的白色影子

TOP

本帖最后由 qzwqzw 于 2016-3-29 11:33 编辑

最后还是回归楼主十进制转换的正题吧
刚才简单调整了一下自己的第二段代码
查表替换的思路也是拾人牙慧
个人代码还是以实用为主效率为辅
  1. :dec2hex - %1 十进制数值 %2 十六进制变量名
  2. setlocal EnableDelayedExpansion
  3. set n=%1
  4. for /l %%i in (1,1,8) do set/a"H%%i=n&15,n>>=4"&set o=!H%%i!:!o!
  5. for %%e in ("10:=A" "11:=B" "12:=C" "13:=D" "14:=E" "15:=F" ":=") do set o=!o:%%~e!
  6. endlocal & set %2=%o%
复制代码
天的白色影子

TOP

返回列表