year 用int(4字节)存储
当按照Sun为每周第一天时,一号是星期一的话前面有一个空格,为星期二时有两个空格,前提是已知1900.1.1为星期一,blank = (total + 1) % 7为空格数,+1使得第一行不会出现7个空格
当代码出现bug时可用几个容易看出问题的数据输入进行观察
C语言提供了6种位运算符:&(按位与),|(按位或),^(按位异或),~(取反),<<(左移),>>(右移)
对于2的n次方的乘,除,取余运算,可以转化为左移或右移运算提高执行效率。
位操作取余应该只是适用:求一个数除以二的N次,计算方法是:X & (2<
左移<<
二进制数整体向左移动,多余的位数进行舍去操作(比如向左移动n位,即将二进制数的前n位舍去),舍去固然意味着要在末尾进行补充,补什么呢,联想到整数的小数点后补位,自然可以知道左移末尾补0。
右移>>
右移即将二进制数末尾的n位舍去,对左边的高位进行补位。正数左边补0,负数左边补1
左移相当于乘以2n右移相当于除以2n