我有这个任务,我不知道该怎么做,一个简单的谷歌不会帮助我。也不完全确定要搜索什么。
但我正在创建一个包含小时、分钟和秒的时钟/手表。我使用的位掩码是:
0000 0000 mask1
hhhh mmmm
0000 0000 mask2
mmss ssss
到目前为止,我所理解的是,小时位的数量是适合 0 -> 11 的 12 个选项的原因。而 0 -> 59 的分钟和秒的 6 位。
几个小时以来,我有点在黑暗中为每个可能的小时创建 12 个单独的位掩码。完成后,我意识到我必须这样做几分钟和几秒钟,这将是 120 行不必要的代码。
这就是我所做的:
TIME_11_HOUR = 240, //1111
TIME_10_HOUR = 224, //1110
TIME_9_HOUR = 192, //1100
TIME_8_HOUR = 160, //1010
TIME_7_HOUR = 144, //1001
TIME_6_HOUR = 112, //0111
TIME_5_HOUR = 96, //0110
TIME_4_HOUR = 80, //0101
TIME_3_HOUR = 64, //0100
TIME_2_HOUR = 48, //0011
TIME_1_HOUR = 32, //0010
TIME_0_HOUR = 16 //0001 0000
我相信解决方案与位移有关,但我不确定如何做到这一点。
谁能给我一个将 0001(0 小时)更改为 1010(8 小时)的示例,以便我可以在我的代码中实现它并自己解决。