1111 1001的反码为1000 0110,补码为1000 0111,转化为十进制数为-7,也就是说a&b的结果是-7。黑窗口演示<em>python</em>运行结果如下:按位或运算,“或”理解为“或者”的意思,即对应数位的两个数第一个是1,或者第二个是1,则结
2021-05-21 23:00:39
上一篇,我們一起學習了正數的位運算知識,本篇我們繼續學習負數的位運算。
為了方便計算,假定使用8位機器數。這裡我們先定義兩個變數儲存負數,並求得它們的原碼、反碼和補碼,下文演示就直接使用變數:
定義變數a = -5,b = -7a的二進位制原碼:1000 0101,二進位制反碼為:1111 1010,二進位制補碼為:1111 1011b的二進位制原碼:1000 0111,二進位制反碼為:1111 1000,二進位制補碼為:1111 1001
01負數的按位與運算
按位與運算,「與」理解為「並且」的意思,即對應數位的兩個數,第一個是1並且第二個也是1,結果才是1。求a&b的值?
我們先拿1111 1011與1111 1001 的首位比較,第一個數為1,並且第二個數也為1,那麼結果記作1;然後再往右比較第二位,就這樣依次比較完所有位,最後得到結果為:1111 1001。
注意這個結果是補碼形式,需要轉化為原碼,再轉化為十進位制數。而求補碼的原碼,只需要對補碼再求一次補碼就可以了。
1111 1001的反碼為1000 0110,補碼為1000 0111,轉化為十進位制數為-7,也就是說a&b的結果是-7。黑視窗演示python運行結果如下:
02負數的按位或運算
按位或運算,「或」理解為「或者」的意思,即對應數位的兩個數第一個是1,或者第二個是1,則結果是1。求a|b的值?
我們先拿1111 1011與1111 1001 的首位比較,第一個數為1,或者第二個數為1,那麼結果記作1;然後再往右比較第二位,就這樣依次比較完所有位,最後得到結果為:1111 1011。
同樣地,需要求1111 1011的補碼。先求反碼為1000 0100,補碼為1000 0101,轉化為十進位制數為-5,也就是說a|b的結果是-5。黑視窗演示python運行結果如下:
03負數的按位異或運算
按位異或運算,「異」理解為「不同」的意思,即對應數位的兩個數不相等則結果為1。求a^b的值?
我們先拿1111 1011與1111 1001 的首位比較,第一個數為1,第二個數為1,兩數相同,記作0;然後再往右比較第二位,就這樣依次比較完所有位,最後得到結果為:0000 0010。
同樣地,需要求0000 0010的補碼。而二進位制數的最高位是符號位,0代表正數,1代表負數,而正數的原碼和反碼和補碼相等,所以它的補碼也是0000 0010,轉化為十進位制數就是2,也就是說a^b的結果是2。黑視窗演示python運行結果如下:
04負數的按位取反運算
按位取反運算,「反」理解為「相反」的意思,即二進位制的所有數位1變為0,0變為1。求~a的值?
我們拿1111 1011取反得到0000 0100,同樣地這個數也是補碼,由於是正數,所以原碼也是它,轉化為十進位制數是4,即~a的結果是4。黑視窗演示python運行結果如下:
好了,本期關於負數的位運算符的學習就結束了,各位友友學會了麼?歡迎大家在評論區留言討論交流。我是程式媛小敏,持續為您分享python知識乾貨。
相關文章
1111 1001的反码为1000 0110,补码为1000 0111,转化为十进制数为-7,也就是说a&b的结果是-7。黑窗口演示<em>python</em>运行结果如下:按位或运算,“或”理解为“或者”的意思,即对应数位的两个数第一个是1,或者第二个是1,则结
2021-05-21 23:00:39
财务收支利润总报表 公司财务报表指标分析可视化看板 成本费用管理表格 项目收支利润表 年度成本费用预算明细表 采购明细表及应收账款管理 年度分部门费用支出分析 收入成本费用明细表 财务部差旅费预算分析表 现金
2021-05-21 23:00:05
经过 Intel <em>CPU</em> 环境上实测,该引擎不仅支持万亿边图模型训练,也能够很好地支持线性扩展。 据介绍,这项技术已在网易云音乐的主播推荐场景上进行了应用:大规模图检索引擎和飞桨分布式训练技术,成功支撑了语音
2021-05-21 22:31:41
含骁龙870处理器、LPDDR5内存、UFS3.1闪存),跑分高达742444分,自带「内存融合」技术,支持扩展部分存储转为运行内存,让8GB等效11GB运存,用上了144Hz竞速屏,拥有超级液冷散热系统,全方位覆盖发热源头,<em>CPU</em>温度最高可降
2021-05-21 22:31:37
曾经端坐霸主地位的微软IE<em>浏览器</em>在走过20多年的岁月后,最终与互联网时代早期被淘汰的品牌一样,即将退出历史。 当地时间5月19日,微软公司宣布,从明年6月15日起,大多数版本的Windows 10系统将不再支持IE<em>
2021-05-21 22:31:26
这是我持续将 Android 作为主力机使用三年之后,第一次回归使用 <em>iPhone</em> 。作为可能是全网最后一个拿到 <em>iPhone</em> 12 Pro Max 的数码博主(不是),在体验了近两个月的时间后,一起来看看我对这款让人又爱
2021-05-21 22:31:10