創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
這篇文章將為大家詳細(xì)講解有關(guān)C語言中int的取值范圍,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
C++中,int占用4字節(jié),32比特,數(shù)據(jù)范圍是-2147483648~2147483647[-2^31~2^31-1]。
在C中,int型數(shù)據(jù)是一個(gè)有符號的整型數(shù)據(jù),其最高位為符號位(0表示正,1表示負(fù))。
1個(gè)字節(jié)等價(jià)于8個(gè)二進(jìn)制位,在很多計(jì)算機(jī)系統(tǒng)中,通常采用補(bǔ)碼來表示帶符號的數(shù)(補(bǔ)碼系統(tǒng))。
原碼:最高位為符號位(0表示正,1表示負(fù)),其他位按照一般的方法來表示數(shù)的絕對值。
反碼:對于一個(gè)帶符號的書來說,正數(shù)的反碼與其原碼相同,負(fù)數(shù)的反碼為其原碼除符號位以外的各位按位取反。
補(bǔ)碼:正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼為其反碼在最低位加1。
兩個(gè)字節(jié),所以,二進(jìn)制原碼大為0111 1111 1111 1111 = 2^15 - 1 = 32767。
最小為1111 1111 1111 1111 = - (2^15 - 1) = -32767。
原碼中0的表示有正負(fù)之分[+0]原 = 0000 0000 0000 0000;[-0]原 =1000 0000 0000 0000。
所以二進(jìn)制原碼表示時(shí),范圍是 -32767 ~ -0和0~32767,因?yàn)橛袃蓚€(gè)0,所以不同的數(shù)值個(gè)數(shù)一共有2^16 - 1個(gè)。
而計(jì)算機(jī)采用而進(jìn)駐補(bǔ)碼存儲數(shù)據(jù)時(shí),0的表示是唯一的:[+0] 補(bǔ)= [-0] 補(bǔ)= 0000 0000 0000 0000
此時(shí)正數(shù)編碼不變,從0000 0000 0000 0000 ~ 0111 1111 1111 1111依然表示0 ~ 32767。
負(fù)數(shù)表示需依照補(bǔ)碼規(guī)則,即-32767的補(bǔ)碼為1000 0000 0000 0001。
所以補(bǔ)碼中會比原碼多一個(gè)編碼出來,這個(gè)編碼就是1000 0000 0000 0000,因?yàn)槿魏我粋€(gè)原碼都不可能在轉(zhuǎn)化成補(bǔ)碼時(shí)變成1000 0000 0000 0000,所以人們規(guī)定1000 0000 0000 0000這個(gè)補(bǔ)碼編碼為-32768。
結(jié)論:int型數(shù)據(jù)占兩個(gè)字節(jié)時(shí),可表示2^16種變化,最高位為符號位,所以正負(fù)有2^15中變化,因?yàn)?也占一種,因此正負(fù)數(shù)的大值并不對稱,即該int型數(shù)據(jù)取值范圍為-32768 ~ 32767。
擴(kuò)展資料:
int使用方法:
定義方法:
int i;//定義整形變量i
int i=1;//定義整形變量i并初始化為1
定義常量:
const int i;//編譯錯(cuò)誤,因?yàn)槌A啃枰o予一個(gè)初值
const int i=1;//定義常量i,值為1
Java定義常量:
final int i=1;//定義常量i,值為1
關(guān)于C語言中int的取值范圍就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)站標(biāo)題:C語言中int的取值范圍-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://aaarwkj.com/article44/dopjee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、ChatGPT、用戶體驗(yàn)、手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容