Board logo

标题: [数值计算] 十进制与二进制相互转换批处理 [打印本页]

作者: novaa    时间: 2007-11-22 21:58     标题: 十进制与二进制相互转换批处理

花了半天的成果
哈哈
利用的是学习C#时候的计算方法
o(∩_∩)o
  1. @echo off&setlocal enabledelayedexpansion&color 02
  2. mode con cols=80 lines=12
  3. ::code by novaa @bbs.bathome.com 11/22/2007
  4. :kaishi
  5. echo.
  6. echo ╭─────────╮
  7. echo ╭────────┤选择要整理的文件夹├─────────╮
  8. echo │ ╰─────────╯ │
  9. echo │ novaa的十进制与二进制转换器 │
  10. echo │ bbs.bathome.com │
  11. echo │ │
  12. echo ╰────────────────────────────╯
  13. set /p xuanze=请选择转换的形式,10转2请输入1,2转10输入2,0退出:
  14. if %xuanze% equ 0 exit
  15. if %xuanze% equ 1 (goto :10to2) else (goto :2to10)
  16. :10to2
  17. set /p scanf=请输入你想转换的数字:
  18. set var=%scanf%
  19. set num=1
  20. echo 转换前数字为 %var%
  21. call :zhuanhuan
  22. :zhuanhuan
  23. set /a var%num%=%var%%%2
  24. set /a var=%var%/2
  25. set /a num+=1
  26. if !var! neq 0 goto :zhuanhuan else goto :echo
  27. :echo
  28. for /l %%a in (%num% -1 1) do set /p=!var%%a!<NUL
  29. pause>nul & cls & goto :kaishi
  30. :2to10
  31. set s1=1 & set s2=2 & set s3=4
  32. set /p scanf=请输入你想转换的数字:
  33. :jisuan
  34. set var=!scanf:~-3!
  35. set scanf=!scanf:~0,-3!
  36. set var1=!var:~0,1!
  37. if "%var:~1,1%"=="" (set var2=0) else (set var2=!var:~1,1!)
  38. if "%var:~2,1%"=="" (set var3=0) else (set var3=!var:~2,1!)
  39. set /a num=!num!+!var1!*!s3!+!var2!*!s2!+!var3!*!s1!
  40. if !scanf! equ 0 goto :echo2 else goto :lun
  41. :lun
  42. set /a s2*=8 & set /a s3*=8 & set /a s1*=8
  43. goto :jisuan
  44. :echo2
  45. echo !num!
  46. pause>nul & cls & goto :kaishi
复制代码





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