[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 3# JooKin
  1. ->for /l %a in (-15 1 15)do d2b %a
  2. ->d2b -15
  3. 11111111111111111111111111110001
  4. ->d2b -14
  5. 11111111111111111111111111110010
  6. ->d2b -13
  7. 11111111111111111111111111110011
  8. ->d2b -12
  9. 11111111111111111111111111110100
  10. ->d2b -11
  11. 11111111111111111111111111110101
  12. ->d2b -10
  13. 11111111111111111111111111110110
  14. ->d2b -9
  15. 11111111111111111111111111110111
  16. ->d2b -8
  17. 11111111111111111111111111111000
  18. ->d2b -7
  19. 11111111111111111111111111111001
  20. ->d2b -6
  21. 11111111111111111111111111111010
  22. ->d2b -5
  23. 11111111111111111111111111111011
  24. ->d2b -4
  25. 11111111111111111111111111111100
  26. ->d2b -3
  27. 11111111111111111111111111111101
  28. ->d2b -2
  29. 11111111111111111111111111111110
  30. ->d2b -1
  31. 11111111111111111111111111111111
  32. ->d2b 0
  33. 00000000000000000000000000000000
  34. ->d2b 1
  35. 00000000000000000000000000000001
  36. ->d2b 2
  37. 00000000000000000000000000000010
  38. ->d2b 3
  39. 00000000000000000000000000000011
  40. ->d2b 4
  41. 00000000000000000000000000000100
  42. ->d2b 5
  43. 00000000000000000000000000000101
  44. ->d2b 6
  45. 00000000000000000000000000000110
  46. ->d2b 7
  47. 00000000000000000000000000000111
  48. ->d2b 8
  49. 00000000000000000000000000001000
  50. ->d2b 9
  51. 00000000000000000000000000001001
  52. ->d2b 10
  53. 00000000000000000000000000001010
  54. ->d2b 11
  55. 00000000000000000000000000001011
  56. ->d2b 12
  57. 00000000000000000000000000001100
  58. ->d2b 13
  59. 00000000000000000000000000001101
  60. ->d2b 14
  61. 00000000000000000000000000001110
  62. ->d2b 15
  63. 00000000000000000000000000001111
  64. ->
复制代码

TOP

本帖最后由 plp626 于 2011-9-6 23:34 编辑

回复 5# JooKin


    cmd的数字是有符号数,按理是算术移位
  1. ->d2b -1
  2. 11111111111111111111111111111111
  3. ->d2b 0
  4. 00000000000000000000000000000000
  5. ->d2b 1
  6. 00000000000000000000000000000001
复制代码

TOP

回复 8# JooKin
  1. >> set/a 2147483647
  2. 2147483647
  3. >> set/a 2147483648
  4. -2147483648
  5. >> set/a 2147483649
  6. -2147483647
  7. >> set/a 4294967294
  8. -2
  9. >> set/a 4294967295
  10. -1
  11. >> d2b 2147483647
  12. 01111111111111111111111111111111
  13. >> d2b 2147483648
  14. 10000000000000000000000000000000
  15. >> d2b -2147483648
  16. 10000000000000000000000000000000
  17. >> d2b 2147483649
  18. 10000000000000000000000000000001
  19. >> d2b -2147483647
  20. 10000000000000000000000000000001
  21. >> d2b 4294967294
  22. 11111111111111111111111111111110
  23. >> d2b -2
  24. 11111111111111111111111111111110
  25. >> d2b 4294967295
  26. 11111111111111111111111111111111
  27. >> d2b -1
  28. 11111111111111111111111111111111
  29. >> set/a -1/4294967295
  30. 1
  31. >>
复制代码
1

评分人数

TOP

回复 11# JooKin


那先用这个代码理解
  1. set/a -2/4294967294
复制代码
set/a 4294967295是阶段性罢工,原因未明,我这里有时也罢工,你再试试,

TOP

回复 13# JooKin
  1. ->set/a -1/2147483647
  2. 0
复制代码

TOP

回复 15# JooKin
补码;
你别想复杂了,这是d2b的bat代码:
  1. :: d2b.cmd
  2. @call dec2x.cmd 2 32 %1 %2
  3. @if %2.==. echo %$%
复制代码
  1. :: dec2x.cmd
  2. @ECHO %#debug% off
  3. :d2x <进制=2 8 16> <多少位> <数字> <返回>
  4. SETLOCAL ENABLEDELAYEDEXPANSION
  5. set /a "p=%1-1,x=(p-1)/3+^!(%1&16),d=%3,lp=%2"
  6. set m=0123456789ABCDEF&set h=
  7. for /L %%: in (1,1,%lp%)do set/a"t=d&p,d>>=x"&Set h=$m:~!t!,1$!h!
  8. for %%a in ("%h:$=!%")do endlocal&Set $%4=%%~a
复制代码
附带两个外部命令:
  1. :: d2h.cmd
  2. @call dec2x 16 8 %1 %2
  3. @if %2.==. echo %$%
复制代码
  1. :: d2o.cmd
  2. @call dec2x 8 11 %1 %2
  3. @if %2.==. echo %$%
复制代码

TOP

返回列表