C语言中整型在计算机中的存储
一 . 整型的表示
? ? ? 1.字面值后面加上L(l)表示long長整型
? ? ? 2.字面值后面加上U(u)表示usigned整型值
? ? ? 3.十進制123 ?...
? ? ? 4.八進制,以0開頭,如0123,0754 ?...
? ? ? 5.十六進制,以0x開頭,如0xF32 ?...
二 .整型的分類和表示范圍
? ? char型,前一篇文章已經(jīng)說過,在此不再熬述
? ? int :是有符號還是無符號的整型,在不同的編譯器中不同,這里統(tǒng)一把它視為有符號的整型進行討論
? ? ? ? ? ? ?不論在32位還是64位機器中均是4個字節(jié)(32個bit位),所以其最高位表示符號位(0正1負),剩下的31個位表示數(shù)據(jù)位,取值范圍是-2147 483 648-2147 483 647(-2^31---2^31-1)。在《字符型在計算機中的存儲》中講到正0和負0,這里也不再熬述。
? ? signed int :4個字節(jié),和int一樣
? ? unsigned int :4個字節(jié),32個bit位全部為數(shù)據(jù)位,表示的范圍是0---2^32-1
? ? short 和unsigned short:32位機器和64位機器中均為2個字節(jié),用同樣的方法可以表示取值范圍
? ? long 和 unsigned long:32位機器中位4個字節(jié),64位機器中位8個字節(jié)
? ? long long 和unsigned long long :32位機器中為8個字節(jié),64位機器中為8個字節(jié)
三 . 整型的存儲和讀取
? ? 1.整型存儲:整型在計算機中是以補碼的形式存儲的,當(dāng)計算機遇到一個十進制整型數(shù)字時,首先將其轉(zhuǎn)化成二進制(原碼),接著最高位不變,其余位按位取反(反碼),然后再加1(補碼)。而正數(shù)的原碼反碼補碼相同
? ? 2.整型讀取:首先會根據(jù)讀取要求,如果要求讀取無符號數(shù),因為無符號數(shù)是非負的,則直接將數(shù)據(jù)當(dāng)成原碼,把它轉(zhuǎn)化成十進制整數(shù)。
? ? ? ?如果要求讀取有符號數(shù),則首先將得到的數(shù)據(jù)(補碼)減去1,得到反碼,然后最高位不變,其余位按位取反,得到原碼,再將其轉(zhuǎn)化成十進制輸出。
總結(jié)
以上是生活随笔為你收集整理的C语言中整型在计算机中的存储的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最近有啥好看的电视剧仙侠还没播出
- 下一篇: C语言中浮点型在计算机中的存储