二进制取位操作。(愚蠢的人:书到用时方恨少)
昨天写了一个关于位运算的困扰,今天又学习了一下才知道自己是多么的无知和愚蠢。
昨天的困惑:
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位,所以不用移位。
二进制取位操作。(愚蠢的人:书到用时方恨少)相关推荐
- 重修Java内功——书到用时方恨少
Java内功之ClassLoader 众所周知,"书到用时方恨少,事非经过不知难",在学生时代,被备考和考试所"折磨"过的同学尤其能体会其中的艰难.到了工作的当 ...
- 我的第一次应聘经历有感--书到用时方恨少
大家好,我是CSDN论坛粉丝Channie,这是我第一次在博客上面写东西,有点不习惯有什么不够的地方希望大家指教. 先做个自我介绍吧,Channie,男,芳龄23,相貌俊朗,品格端正,未婚 ,哈说到哪 ...
- 西江月 - 书到用时方恨少
西江月 - 书到用时方恨少 闲时无忧无虑,忙时百事着急,书到用时方恨少,临阵磨枪游戏. 革命尚未成功,我辈仍需努力,莫到竟时悔之矣,夕阳残照孤寂.
- 老二牛车Axure夜话:程序员眼中的原型设计视频教程之书到用时方恨少
案例描述:书到用时方恨少 这是一个经典的案例,作者曾经在培训机构工作期间发现很多的学员都很喜欢这样的课程 知识点: 动态面板的移动 动态面板改变大小 Axure循环操作 效果图: 在线效果预览: Ax ...
- 程矢Axure夜话:程序员眼中的原型设计视频教程之书到用时方恨少
程矢Axure夜话:程序员眼中的原型设计视频教程之书到用时方恨少 案例描述:书到用时方恨少 这是一个经典的案例,作者曾经在培训机构工作期间发现很多的学员都很喜欢这样的课程 知识点: 动态面板的移动 动 ...
- 书到用时方恨少? 整理了一份初中、高中数学教材pdf 百度云
码代码经常用到初中高中数学知识, 列个方程,弄个函数,画个圆公式什么的.结果发现早就忘了. 这里整理了一份初中.高中数学教材pdf 百度云,自取. 链接:https://pan.baidu.com/s ...
- incident用法_“我出事故了”书到用时方恨少,事故用“incident”还是“accident”?...
同学们,学了十几年的英语 Incident VS. Accident 二者的区别及用法都还记得吗 你可能经常在新闻中听到人们 用accident和incident表示某事件 导致我们非常容易混淆这两个 ...
- 书到用时方恨少,试试运气好不好
很多人经常问有没有一些生物信息的图书推荐,由于生物信息发展实在太快了,从图书规划到定稿,再到出版可能一年时间就过去了,这一年时间技术已经发生了很大的变化,所以文献和公众号是比较及时的信息.也有很多测序 ...
- 太贪玩 书到用时方恨少
实在没想到 我会为这么老掉牙的谚语而叹息 崩溃了 昨天到家打开wow 上69级小猎人下个本 roll到一件装备 但迟迟没落进自己的包 小退了一下 再开wow直接死机了 反复重启后 反复尝试装系统后 9 ...
最新文章
- MySql练习题参考答案
- git 版本操作命令大全
- python实现中撤销上一步的代码mac_一个“MacBook”新手的Python“笨办法”自学之旅 #第六章:常用的简易Python命令、符号、代码、格式化字符串...
- 清华硕士分享思维导图:机器学习所需的数学基础
- 在crontab中利用scp命令自动备份文件
- android dialog的封装,Android系统Dialog的简单封装
- 基于electron和ffmpeg下载rtmp直播流
- CSS4.2.3 参考手册.CHM
- html浮动垂直居中对齐,css如何设置垂直居中对齐?
- Web前端初步——IDE工具选择和emment插件
- 51花样流水灯c语言程序,51单片机花样流水灯程序
- 万恶IE兼容之input change事件
- 2020-10-07
- 融360赴美IPO:大数据能否助其吸引海外投资者青睐?
- XGboost和GBDT的异同
- Alpha阶段敏捷冲刺⑥
- thingsboard-部件库开发 之 rpc-部件开发
- WebRTC回声抵消模块简要分析
- CSS3实现图片在DIV中上下左右居中
- glc四驱软件测试,北京奔驰GLC减配严重,四驱性能极差,官方是这么解释的
热门文章
- 一个80年小子的创业道理,和所有准备创业或者正在创业的兄弟们共享
- Linux的BSD格式什么意思,Linux与BSD有什么区别? | MOS86
- 频临死亡的校园BBS自救决心仍需加大
- 项目中如何修改element-ui的默认样式
- 中国海洋大学计算机博士毕业要求,博士按时毕业不到四成 延长学制促慎重决定...
- vs2015下pthread的使用
- (C70)第九夜:血色终结 Blood -over- 汉化补丁
- 梦想CAD控件com接口界面控制右键弹出菜单
- 香槟分校计算机研究生专业,伊利诺伊大学香槟分校研究生计算机系统专业排名...
- 巧用 即刻搜索事件 input propertychange 监听输入框字数