X = 01001001和Y = 10101010
如果我想將它們加在一起,我該怎麼做?他們是「兩個補充」... 我已經嘗試了很多東西,但我不太確定我得到正確的答案,因爲似乎有不同類型的規則。
只是想確保它是正確的:
1.添加它們,因爲它們沒有轉換負
2.轉換負數你,這就是總和。
f.eks
01001001 10101010 + 11110011 = => 00001100 => 1101 => -13
或?
1.轉換負
2.一起添加他們並轉換負
f.eks
01001001 10101010 + => 01001001 + 01010110 => 10011111 => 01100001 => -97
所以基本上我想要做的是採取:XY和X + Y
有人可以告訴我該怎麼做嗎?
一些資源網站: student-binary celtickane swarthmore添加負面和正面的二進制?
回答
二進制補碼的美妙之處在於二進制級別是解釋而不是算法的問題 - 添加兩個有符號數的硬件與無符號數相同(忽略標誌位)。
你的第一個例子 - 「只是添加它們」 - 是正確的答案。你的榜樣數字
- 01001001 = 73
- 10101010 = -86
所以,正確答案是確實-13。
減法也是一樣的,因爲對於二進制補碼來說不需要特殊的處理:你「只是減去它們」。
請注意,有趣的地方是處理溢出/下溢位。您不能將73 - (-86)的結果表示爲8位二進制補碼...
但是如果減法與添加它們相同?然後不會我得到相同的答案? – suxSx 2008-12-06 21:32:07
添加在補不需要任何特殊處理,當兩個參數的符號是相反的。您只需像往常一樣將它們添加到二進制文件中,結果的符號就是您保留的符號。
只是爲了確保您瞭解二進制補碼,可以將正數轉換爲負數(或反之亦然):反轉每一位,然後將1加到結果中。
例如,您的正數X = 01001001變爲10110101 + 1 = 10110110作爲負數;您的負數Y = 10101010成爲01010101 + 1 = 01010110作爲正數。
要從X中減去Y,則取反Y並相加。 I.E. 01001001 + 01010110。
您的困惑可能是因爲涉及的數字的寬度。爲了獲得更好的感覺,你可以嘗試從你的無符號整數中創建一個有符號的整數。
如果您的無符號整數的MSB已經是0,那麼您可以將它作爲有符號讀取並獲得相同的結果。
如果MSB是1,那麼你可以在左邊追加一個0來得到一個有符號的數字。您應該簽名擴展(即,如果MSB爲0,則添加0,如果MSB爲1,則添加1)所有有符號數字以獲得相同寬度的數字,以便可以「正常」執行算術。
例如,使用你的號碼:
X = 01001001:無符號,最高位爲0,什麼也不做。
Y = 10101010:簽名,與X沒有任何關係,仍然無能爲力。
但是,如果我們改變X的MSB爲1:
X = 11001001:未簽名,MSB是1,添加0 - > 011001001
Y = 10101010:簽字,擴展X,所以符號擴展Y - > 110101010
現在你有兩個有符號的數字,你可以添加或減去你已知的方式。
- 1. 使用Javascript - 包括正面和負面的「十進制」的數字
- 2. jquery插件繪製趨勢的正面和負面的價值
- 3. 創建正面和負面樣本
- 4. JUnit測試(正面和負面測試)
- 5. mysql正面和負面標記過濾
- 6. 蟒字面二進制進制轉換
- 7. 平面二進制格式
- 8. 負面和正面加速度究竟代表什麼? (iOS)
- 9. 向二進制添加'0'
- 10. 添加二進制數
- 11. 二進制十進制負數位集
- 12. 二進制負整數
- 13. 二進制乘法 - 負數X負數
- 14. PDF頁面上的二進制顯示
- 15. 對二進制內容的MarkLogic方面
- 16. 面積圖與非混合正面和負面軸
- 17. 正則表達式正面和負面看不好(JavaScript)?
- 18. 正則表達式找到正面和負面匹配
- 19. 使用Haar Cascade的正面和負面圖像的尺寸
- 20. 在ggplot中繪製具有負面和正面的累積直方圖?
- 21. 需要添加正面和背面的圖像來翻轉divs
- 22. AlertDialog.Builder字體和字體大小正面和負面按鈕
- 23. Highcharts堆棧列總和正面和負面
- 24. Postfix負面是不正確和通信
- 25. 添加面板和動態控制
- 26. 嘗試將sinwave的正面和負面部分疊加在一起
- 27. 帶有負面和正面數據的Highcharts條形圖
- 28. HERE地圖:正面和負面的鏈路ID
- 29. 帶有正面和負面情緒的tidytext單詞
- 30. Android:正面,負面和中性按鈕之間的區別
有能力的人應該將此標記爲'家庭作業' – epotter 2009-01-21 02:46:45