C語言基礎

2021-09-14 04:10:43 字數 1555 閱讀 7439

一、內容提要

1、進製表示;

2、原碼、反碼、補碼;

3、整型資料型別;

4、浮點型別。

二、內容詳解

1、進製表示:

進製以十進位制為例1234.5=110^3 + 210^2 + 310^1 + 410^0 + 510^-1 (按權展開求和)。

其它進製轉十進位制都是按權展開求和,比如十六進製制0x123=116^2 + 216^1 + 316^0

十進位制轉其它進製:整數部分:基數除法,倒序取餘。小數部分:基數乘法,順序取整。

十進位制轉二進位制:除了上面的方法,還可以湊。如下圖

二進位制轉八進位制:二進位制從右往左三個三個分組,然後按權展開求和,如下圖0136457

二進位制轉十六進製制:二進位制從右往左四個四個分組,然後按權展開求和,如下圖0xbd2f

十進位制轉八,十六進製制:先轉二進位制再轉八或者十六進製制。

2、原碼、反碼、補碼:

無符號整型數:所有的數字均表示數值;

n位無符號整型資料表示的取值範圍為:0~2^n-1 (2^n表示2的n次方)

有符號整型數:最高位0為正數,1為負數

正數:原碼,反碼,補碼三者相同;

負數:其絕對值的二進位制,取反,再加一,如下圖

根據二進位制計算數值,假設數字為1位元組:

無符號數全部為數值位,按權展開求和。1010 1000->12^7 + 12^5 + 12^3=168

有符號數,先看符號位確定符號,0為正數,1為負數。

如果為正數則按權展開求和。0101 1000->12^6 + 12^4 + 12^3=88

如果為負數則先確定符號,然後取反加一計算它的絕對值。1110 0101

3、整形資料型別:

char:-128~127共256種不同的數字。

unsigned char:0~255。

int:不加說明為4位元組。

注意資料的取值範圍。

4、浮點型別:

float:從左往右第一位為符號位,接來下8位為指數字,最後23位為尾數字

符號位p:0為正,1為負

指數e:讀取的指數=實際指數-127

尾數m:不包含小數點左邊的1

比如12.5f->1100.1->1.1001*2^3,則儲存資料如下:

c 語言基礎

三個訪問描述符 public private 和protected 都可以修飾類的資料成員和成員函式 public 可以可以被任何訪問,private 只能被該類的公,私成員函式,該類的友元函式或者友元類的成員函式訪問。protected 只能被該類的公,私成員函式和該類的派生類訪問。c 中除了,和...

c語言基礎

1.問題描述 從鍵盤輸入三個整數,分別存入x,y,z三個整型變數中,計算並輸出三個數的和以及平均值。輸入形式 從鍵盤輸入三個整數,整數之間以空格隔開。輸出形式 在螢幕上分兩行顯示結果 第一行為三個數的和,整數形式輸出 第二行為三個數的平均值,浮點數形式輸出,小數點後保留兩位小數。輸入樣例 3 2 3...

C語言基礎

找最大最小整數 2.問題描述 編寫乙個程式,使用者輸入若干整數,試找出其中的最大數和最小數。輸入形式 使用者在第一行待輸入資料個數,在第二行輸入資料。輸出形式 程式在下一行輸出資料的最大值和最小值 樣例輸入 589 62 96 74 52 樣例輸出 96 52 樣例說明 使用者第一次輸入的為資料個數...