C語言學習感悟 關於位數與數值範圍

2021-08-20 11:19:17 字數 579 閱讀 5458

在討論位數與數值範圍的時候,先要明確是什麼型別的數:

#無符號型#

無符號型的數字總是從0開始到最大值。例如8位(位元組):

最小值(0000 0000)2

,最大值是(1111 1111)2。所以是0~255(2的8次方-1)。

如果是n位數,則其數值範圍為:

0 ~(2的n次方-1)

#有符號型#

因為有符號型的數,都是用補碼表示,且規定正數的補碼就是本身,負數的補碼需要進行計算。

要達到以上規定的要求,要求在表示正數的時候,最高位只能為0。按8位(位元組)舉例:

最大值為(0111 1111)2,也即2的7次方減1,為127。

最小值應該是(1000 0000)2也就是-128,(注:這裡要用到負數的補碼轉換成十進位制)

如果是n位數,則其數值範圍為:

-(

2的n-1次方~+(2的n-1次方減1)

C語言學習感悟

學習c語言已有兩個月左右。對於c語言,從一無所知到能夠自己編碼,感覺在這兩個月裡學到了很多知識,於此,進行總結。關於 c語言程式設計 第一章講述了為什麼要學習c語言,主要是c語言的歷史和發展,讓我對c語言有了基本了解。第二章講述的是c資料型別。需要注意的是,使用變數之前需先宣告變數才能使用,所有變數...

C語言學習與分享

一。檔案的使用方式 r 唯讀 rb唯讀 r rb 不帶b的為已存在的文字檔案,帶b的為二進位制檔案 binary 帶 號的為讀寫檔案 w 只寫 wb只寫 a 追加 ab追加 二。說明 1.c語言將計算機的輸入輸出裝置都看作是檔案。例如,鍵盤檔案 螢幕檔案等。ansi c標準規定,在執行程式時系統先自...

關於C語言學習的問題與收穫 4

1 二分查詢 已知乙個有序陣列,判斷給定的資料x是否在該陣列中,在返回該數在陣列中的位置,不在返回 1。使用函式 在search函式中使用while語句,x的數值要大於等於第乙個資料小於等於最後乙個資料,並加上乙個判斷條件,k 1即為未找到資料,找到了則輸出其位置。初始定義j n 1和i 0及後面的...