新聞中心
在C語言中,正負數(shù)的表示主要依賴于整數(shù)類型變量的有符號和無符號屬性。

創(chuàng)新互聯(lián)成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術為基點,以客戶需求中心、市場為導向”的快速反應體系。對公司的主營項目,如中高端企業(yè)網(wǎng)站企劃 / 設計、行業(yè) / 企業(yè)門戶設計推廣、行業(yè)門戶平臺運營、app軟件開發(fā)公司、移動網(wǎng)站建設、微信網(wǎng)站制作、軟件開發(fā)、遂寧托管服務器等實行標準化操作,讓客戶可以直觀的預知到從創(chuàng)新互聯(lián)可以獲得的服務效果。
1. 有符號整數(shù)類型
有符號整數(shù)類型包括int, long, short, char等,這些類型的變量可以存儲正數(shù)、負數(shù)以及零。
1.1 正數(shù)
在有符號整數(shù)類型中,正數(shù)的表示方式與我們在數(shù)學中使用的十進制表示方式相同,如果我們有一個int類型的變量a,我們可以將值5賦值給它:
int a = 5;
1.2 負數(shù)
負數(shù)在計算機中的表示方式是使用二進制補碼,補碼是一種可以讓加法和減法操作統(tǒng)一的二進制表示方法,對于一個n位的二進制數(shù),其補碼是由原碼(即我們通常理解的二進制表示)取反(0變?yōu)?,1變?yōu)?)后加1得到的。
5在8位二進制中的表示為:
原碼:00000101(這是+5的原碼表示)
反碼:11111010(取反)
補碼:11111011(加1)
5在計算機中以補碼形式存儲。
2. 無符號整數(shù)類型
無符號整數(shù)類型包括unsigned int, unsigned long, unsigned short等,這些類型的變量只能存儲非負數(shù)(即正數(shù)和零)。
2.1 正數(shù)
無符號整數(shù)類型的正數(shù)表示方式與有符號整數(shù)類型的正數(shù)表示方式相同,只是它們不能表示負數(shù),如果我們有一個unsigned int類型的變量b,我們可以將值5賦值給它:
unsigned int b = 5;
2.2 負數(shù)
由于無符號整數(shù)類型不能存儲負數(shù),所以在試圖給一個無符號整數(shù)類型的變量賦一個負值時,會發(fā)生所謂的“下溢”現(xiàn)象,即該值會被轉換為一個非常大的正數(shù),這個轉換過程也是基于二進制補碼的,但是結果被解釋為一個正數(shù)。
如果我們嘗試將5賦值給一個unsigned int類型的變量c:
unsigned int c = 5;
實際上,c的值將會是一個非常大的正數(shù),具體取決于系統(tǒng)的位數(shù),在32位系統(tǒng)中,c的值將會是4294967291(即2^32 5)。
名稱欄目:c語言中正負怎么表示什么
本文鏈接:http://m.fisionsoft.com.cn/article/cccgjcc.html


咨詢
建站咨詢
