2022.9.2实训笔记

109 阅读1分钟

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