請問cpu是如何分辨補碼與非補碼的?

時間 2021-06-17 14:58:30

1樓:土地測量員

cpu不需要分辨。它只是機械地根據指令的操作碼去運算元據,資料的表示以及解釋都是由程式設計師決定和把控的。

以x86為例,比方說操作碼是mul,就把資料當成無符號整型,根據無符號整型乘法的規則去運算;操作碼是imul,就把資料當成有符號整型(用的補碼表示),根據補碼乘法規則去運算。除法也是如此。比較特殊的是加減法,由於補碼表示有符號整數加減法的位級行為和無符號整數一樣(這也是補碼的最大優勢),所以它們用的都是同一套指令,只是會設定不同的標誌位,OF表示有符號數溢位,CF表示無符號位溢位。

SF表示有符號整型結果的正負。運算結果溢位與否,也是得根據運算元據是否是補碼,來相應地檢視OF或者CF的置位情況,從而做出判斷。

2樓:望山

補碼是乙個相對概念,對乙個二進位制數字進行取補運算,結果就是該數字的補碼。如果孤零零乙個數字,你說它是不是補碼?這是概念混亂產生的偽問題。

CPU不可能分辨補碼與非補碼,也不存在這種需求。

如何分辨日文長音與非長音?

段 段 段 段 少部分寫作 這裡 看做 段 少部分寫作 這裡 看做 長音的讀音的讀法,延長前面的音一倍。讀長音 1.可以看成長音的標誌,當看到這3個假名的時候就要有一定敏感性,有讀長音的可能 2.段 段 把O O 這樣的單詞看成乙個整體,看成特殊的情況,單獨記 寫假名 1,長音的時候,預設一律按規則...

拋補利率平價與非拋補利率平價該如何區分理解?

關於covered interest rate parity和 uncovered interest rate parity 我是這麼理解的,covered interest rate 從其英文表面意義來理解,所謂covered interest 是兩種貨幣的利率不同,匯率的變化從而產生了套利空間,...

請問如何分辨自己是邊緣型人格障礙還是單純的作?

無方心理 首先,想要判斷自己是否是邊緣型人格障礙,請前往醫院或專業醫療機構 心理機構進行診斷。邊緣型人格障礙是一種精神障礙,由於疾病診斷需要專業精神科醫師進行,故不推薦自行判斷 自己做問卷,或是對著精神障礙表現 對號入座 精神障礙指的是大腦機能活動發生紊亂,導致認知 情感 行為和意志等精神活動不同程...