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 從右...