進製間轉換

2022-08-01 16:57:10 字數 1355 閱讀 3503

1.進製間轉換

十進位制轉二進位制:十進位制的數一直除以2,直到商為0,結果為逆序的每個餘數。("除2取餘,逆序排列"法,十進位制轉

八、十六進製制同理)

十進位制小數轉二進位制小數:小數一直乘以2,直到小數部分為0,結果為順序的每個整數部分。("乘2取整,順序排列"法)

0.25(10)→0.01(2)

0.25*2=0.5  取整是0    ↓

0.5*2=1.0    取整是1

二進位制轉十進位制:從右邊第0位開始乘以2的位數次冪,二進位制中為0的數忽略不計。

101(2)→1*2^2+0+1*2^0=5(10)

八進位制轉二進位制轉十進位制(十六進製制轉二進位制轉十進位制同理)

3 4(8)

011 100(2)

↓28(10)

2.計算機儲存空間是以8位1位元組,記憶體以補碼的形式儲存。

3.關鍵字

由字母、數字、下劃線組成,不能數字開頭。

4.型別轉換

顯示轉換:(int)a  (int)2.5→2      通常發生在高精轉低精,損精。

隱式(自動)轉換:通常發生在低精轉高精,賦值號右邊型別將轉換為左邊型別;

同在賦值號右邊將按高位看齊,char→int→unsigned→long→float→double(低→高精度轉移)。

5.注意問題

(1)7%-4 → 3,-7%4 → -3

(2)負號的優先順序高於減號。負號與自增、自減同在,優先順序按右結合。

main()

輸出結果:9 8 8 9 -8 -9 8

i的初值為8

第二行i加1後故輸出9

第三行i減1後故輸出8

第四行輸出i為8後再加1(為9)

第五行輸出i為9後再減1(為8)

第六行輸出-8後再加1(為9)

第七行輸出-9後再減1(為8)

最後輸出8

(3)j=5;q=(++j)+(++j)+(++j);→j=8,q=24

(4).

8進製:正負號開頭,0為第一位

16進製制:正負號開頭,0x為前2位

(5) i+++j→(i++)+j

(6) x*=y+7→x=x*(y+7)

(7) int z = sizeof(float);

(8) printf("%0.0f\n",0.55f);   →  1(浮點型別的顯示的最後一位會四捨五入)

進製間轉換

1.進製間轉換 十進位制轉二進位制 十進位制的數一直除以2,直到商為0,結果為逆序的每個餘數。除2取餘,逆序排列 法,十進位制轉 八 十六進製制同理 十進位制小數轉二進位制小數 小數一直乘以2,直到小數部分為0,結果為順序的每個整數部分。乘2取整,順序排列 法 0.25 10 0.01 2 0.25...

進製間轉換

因為不可能為每個數值都創造乙個符號,所以需要用基本數字組合出復合的數值,這樣就有了進製的概念。其實所有進製都是人為的創造,都是用來計數方便的。現在最常用的進製是十進位制,當然其它的進製也在使用中。例如 半斤八兩 這個成語,就反映了古代一斤等於十六兩的概念,也就是十六進製制計數方式。計算機程式設計中常...

進製間轉換

二進位制 八進位制 十進位制 十六進製制 二進位制 以0b或0b開頭 八進位制 0開頭 077 逢八進一 十進位制 正常表示 逢十進一 十六進製制 以0x開頭 0xff 10 15用 a f 表示 逢十六進一 十進位制 二進位制 對 500 進行轉換 我們先列一組 0000 0000 0000 從右...