- 帖子
- 20
- 积分
- 217
- 技术
- 0
- 捐助
- 0
- 注册时间
- 2008-12-17
|
@echo off&setlocal EnableDelayedExpansion
set k=11
set /p n=请输入一个小于2048的整数:
set m=%n%
set /a byte=0
:a
set /a s=1"<<"!k!
set /a k=!k!-1
if !n! geq !s! (
set b=1
set /a n=!n! %% !s!
set /a byte=10*!byte!+!b!
) else set /a b=0&set /a byte=10*!byte!+!b!
if !k! lss 0 goto b
goto a
:b
echo %m% =!byte!
pause
为什么我输入2000的时候就会出错呢?
请输入一个小于2048的整数:2000
2000 =-1773891888
请按任意键继续. . . |
|