我理解的,不知道正不正确
& 按位与
0 & 0=0
1 & 0=0
0 & 1=0
1 & 1=1
| 按位或
0 | 0=0
1 | 0=1
0 | 1=1
1 | 1=1
^ 按位异或
0 ^ 0=0
1 ^ 1=0
0 ^ 1=1
1 ^ 0=1
公历闰年的简单计算方法
能被4整除而不能被100整除,
能被100整除也能被400整除.
如:- @echo off
- cls
- setlocal enabledelayedexpansion
-
- set sy=800
- ::设年份为800
-
- set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)"
-
- ::!(sy %% 4)
- ::800能被4整除所以为0
- ::1 ^ 0=1
-
- ::^!(^!(sy %% 100))
- ::800能被100整除也得0,
- ::1 ^ 0=1
- ::1 ^ 1=0
-
- ::^!(sy %% 400)
- ::800也能被400整除得0
- ::1 ^ 0=1
-
- ::最后
- ::leap=set /a leap="(1&0|1)" 结果为1
-
-
- echo %leap%
- pause
复制代码
|