二进制数的加法步骤解析
生活随笔
收集整理的這篇文章主要介紹了
二进制数的加法步骤解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 位運算
- 二進制數加法步驟
- 例子
- 代碼演示
二進制的加法需要用到位運算,所以先來復習下位運算。
位運算
| 位與 | & | 都為1,結果為1,否則為0。 |
| 位或 | | | 有一個為1或兩個位都為1,則結果為1,否則為0。換句話說,只有兩個都為0,則結果為0 ,其它為1。 |
| 異或 | ^ | 兩個位相同,其為0。兩個位不同,其為1。 |
| 取反 | ~ | 0變為1,1變為0。 |
| 左移 | << | 將二進制左移指定位數,右側補0 |
| 右移 | >> | 將二進制由移指定位數,右側超出部分截取丟棄。如a>>b相當于a/2^b。 |
二進制數加法步驟
例子
如,二進制數0100(4)與1110(14)相加得二進制結果10010(18),其步驟如下:
代碼演示
python.
def add(a, b):ncb = a ^ b # 不需要進位的二進制數部分cb = (a & b) << 1 # 進位的二進制數部分if ncb & cb != 0: # 如果位與之后的結果還有1,則表示還有需要進位的return add(ncb, cb) # 遞歸return ncb | cb # 進位與不進位的二進制取位或得到結果if __name__ == '__main__':print(add(0, 3))總結
以上是生活随笔為你收集整理的二进制数的加法步骤解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NSIS添加everyone权限
- 下一篇: 使用ServiceMonitor管理配置