昨天写了一个关于位运算的困扰,今天又学习了一下才知道自己是多么的无知和愚蠢。

昨天的困惑:

16进制数:0X06AA4C

换算成24位2进制数:000001101010101001001100

数据定义:

//0~4 共5bit 春节日份

//5~6 共2bit 春节月份

//7~19 共13bit 13个月的大小月情况(如果无闰月,最后位无效),大月为1,小月为0

//20~23 共4bit 记录闰月的月份,如果没有闰月为0

进行取位运算得到月份和日期:

//计算春节的公历日期

int spring_ny_month = ( LUNAR_YEARS[year_index] & 0x60 ) >> 5;  //取月份
     int spring_ny_day = ( LUNAR_YEARS[year_index] & 0x1f);  //取日期

我的疑惑为什么第一行能取到月份?为什么第二行能取到日期?

愚蠢的我所犯的错误:

000001101010101001001100把这个二进制数的左边当做低位。这是错误的根本。右边才是低位,那一切问题就都解决了。

0x60的二进制是01100000与上面的24位数进行位与运算,后再右移5位即得到24位数中的第6、7位,即月份,与原数据定义是相符的。日期的算法也就清楚了。

注:二进制的取位操作  (原理很容易理解,我却不知道)

逻辑与运算:两个数都为1时结果为1。

想取哪几位把那几位进行和1进行与运算,再移位即可。

如上面月份的计算:与0x60(二进制01100000)进行与运算,因为是第6、7位,所以要再右移5位。

日期计算:与0x1f(二进制:00011111)进行与运算,因为在最右边5位,所以不用移位。

二进制取位操作。(愚蠢的人:书到用时方恨少)相关推荐

  1. 重修Java内功——书到用时方恨少

    Java内功之ClassLoader 众所周知,"书到用时方恨少,事非经过不知难",在学生时代,被备考和考试所"折磨"过的同学尤其能体会其中的艰难.到了工作的当 ...

  2. 我的第一次应聘经历有感--书到用时方恨少

    大家好,我是CSDN论坛粉丝Channie,这是我第一次在博客上面写东西,有点不习惯有什么不够的地方希望大家指教. 先做个自我介绍吧,Channie,男,芳龄23,相貌俊朗,品格端正,未婚 ,哈说到哪 ...

  3. 西江月 - 书到用时方恨少

    西江月 - 书到用时方恨少 闲时无忧无虑,忙时百事着急,书到用时方恨少,临阵磨枪游戏. 革命尚未成功,我辈仍需努力,莫到竟时悔之矣,夕阳残照孤寂.

  4. 老二牛车Axure夜话:程序员眼中的原型设计视频教程之书到用时方恨少

    案例描述:书到用时方恨少 这是一个经典的案例,作者曾经在培训机构工作期间发现很多的学员都很喜欢这样的课程 知识点: 动态面板的移动 动态面板改变大小 Axure循环操作 效果图: 在线效果预览: Ax ...

  5. 程矢Axure夜话:程序员眼中的原型设计视频教程之书到用时方恨少

    程矢Axure夜话:程序员眼中的原型设计视频教程之书到用时方恨少 案例描述:书到用时方恨少 这是一个经典的案例,作者曾经在培训机构工作期间发现很多的学员都很喜欢这样的课程 知识点: 动态面板的移动 动 ...

  6. 书到用时方恨少? 整理了一份初中、高中数学教材pdf 百度云

    码代码经常用到初中高中数学知识, 列个方程,弄个函数,画个圆公式什么的.结果发现早就忘了. 这里整理了一份初中.高中数学教材pdf 百度云,自取. 链接:https://pan.baidu.com/s ...

  7. incident用法_“我出事故了”书到用时方恨少,事故用“incident”还是“accident”?...

    同学们,学了十几年的英语 Incident VS. Accident 二者的区别及用法都还记得吗 你可能经常在新闻中听到人们 用accident和incident表示某事件 导致我们非常容易混淆这两个 ...

  8. 书到用时方恨少,试试运气好不好

    很多人经常问有没有一些生物信息的图书推荐,由于生物信息发展实在太快了,从图书规划到定稿,再到出版可能一年时间就过去了,这一年时间技术已经发生了很大的变化,所以文献和公众号是比较及时的信息.也有很多测序 ...

  9. 太贪玩 书到用时方恨少

    实在没想到 我会为这么老掉牙的谚语而叹息 崩溃了 昨天到家打开wow 上69级小猎人下个本 roll到一件装备 但迟迟没落进自己的包 小退了一下 再开wow直接死机了 反复重启后 反复尝试装系统后 9 ...

最新文章

  1. MySql练习题参考答案
  2. git 版本操作命令大全
  3. python实现中撤销上一步的代码mac_一个“MacBook”新手的Python“笨办法”自学之旅 #第六章:常用的简易Python命令、符号、代码、格式化字符串...
  4. 清华硕士分享思维导图:机器学习所需的数学基础
  5. 在crontab中利用scp命令自动备份文件
  6. android dialog的封装,Android系统Dialog的简单封装
  7. 基于electron和ffmpeg下载rtmp直播流
  8. CSS4.2.3 参考手册.CHM
  9. html浮动垂直居中对齐,css如何设置垂直居中对齐?
  10. Web前端初步——IDE工具选择和emment插件
  11. 51花样流水灯c语言程序,51单片机花样流水灯程序
  12. 万恶IE兼容之input change事件
  13. 2020-10-07
  14. 融360赴美IPO:大数据能否助其吸引海外投资者青睐?
  15. XGboost和GBDT的异同
  16. Alpha阶段敏捷冲刺⑥
  17. thingsboard-部件库开发 之 rpc-部件开发
  18. WebRTC回声抵消模块简要分析
  19. CSS3实现图片在DIV中上下左右居中
  20. glc四驱软件测试,北京奔驰GLC减配严重,四驱性能极差,官方是这么解释的

热门文章

  1. 一个80年小子的创业道理,和所有准备创业或者正在创业的兄弟们共享
  2. Linux的BSD格式什么意思,Linux与BSD有什么区别? | MOS86
  3. 频临死亡的校园BBS自救决心仍需加大
  4. 项目中如何修改element-ui的默认样式
  5. 中国海洋大学计算机博士毕业要求,博士按时毕业不到四成 延长学制促慎重决定...
  6. vs2015下pthread的使用
  7. (C70)第九夜:血色终结 Blood -over- 汉化补丁
  8. 梦想CAD控件com接口界面控制右键弹出菜单
  9. 香槟分校计算机研究生专业,伊利诺伊大学香槟分校研究生计算机系统专业排名...
  10. 巧用 即刻搜索事件 input propertychange 监听输入框字数