1、 消除小數點後面的零
**:#include
int main()
2、 十進位制轉二進位制
**:#include
void binary_cal(int n)
int main(void)
return 0;
}3、 查原碼、反碼、補碼
(1)原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進位制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
(2)正數的反碼是其本身.負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
(3)補碼的表示方法是:
正數的補碼就是其本身.負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)
4、 單精度浮點數二進位制儲存
首先將乙個小數如:235.725的小數部分取出,即:0.725,將其乘以進製數二進位制就乘以2後得到1.45,取其整數部分1為二進位制小數的第一項(十分位),在將小數部分0.45乘2得0.9,取其整數部分為二進位制小數的第二位(百分位)0,在將其小數部分0.9乘2,得1.8,取其整數部分為二進位制小數的第三位(千分位)1,取其小數部分0.8再乘2……以此類推,直到值為0或形成迴圈小數則停止。
**://此處小數字轉二進位製到第八位,如果想要更多,可以設定i的大小
#include
#include
void binarycal(int n)
int main(void) //判斷正負
int a;
a=(int)x;
binarycal(a);
printf(".");
float b=x-a;
for(int i=0;i<8;i++)
return 0;
}5、 二進位制、十進位制、八進位制、十六進製制相互轉換
(1) 十進位制轉二進位制前面已經給出,然後將程式裡的2改為8即可得十進位制轉八進位制的程式。至於十六進製制,加入if判定r即可
(2) 下面討論其它進製轉為十進位制即可,這樣它們也能進一步間接借助十進位制轉換。
二進位制轉十進位制**:
#include
int main(void)
八進位制轉十進位制**:
#include
int main(void)
十六進製制轉十進位制**:
#include
int main(void)
6、 查什麼是記憶體溢位、記憶體洩露
記憶體溢位 out of memory,是指程式在申請記憶體時,沒有足夠的記憶體空間供其使用,出現out of memory;比如申請了乙個integer,但給它存了long才能存下的數,那就是記憶體溢位。
記憶體洩露 memory leak,是指程式在申請記憶體後,無法釋放已申請的記憶體空間,一次記憶體洩露危害可以忽略,但記憶體洩露堆積後果很嚴重,無論多少記憶體,遲早會被占光。
7、 為什麼unsigned short 定義,輸出65535,加一就是零?
unsigned char 表示無符號,bai所以範圍在 0-65535,加一則溢位,直接返回零。
PAT乙級1012 數字分類(C語言)
給定一系列正整數,請按要求對數字進行分類,並輸出以下 5 個數字 a 1 能被 5 整除的數字中所有偶數的和 a 2 將被 5 除后餘 1 的數字按給出順序進行交錯求和,即計算 n 1 n 2 n 3 n 4 a 3 被 5除后餘 2 的數字的個數 a 4 被 5 除后餘 3 的數字的平均數,精確到...
c語言作業
printf 函式是格式化輸出函式,一般用於向標準輸出裝置 如顯示器 按規定格式輸出資訊,可以在 和字母之間插進數字表示最大場寬。例如 對於整型型別資料而言,輸出函式 printf 我做了 5d個仰臥起坐 n 83 中的 5d 表示輸出5位整型數,不夠5位右對齊 對於浮點型別資料而言,輸出函式 pr...
c語言作業
一.思維導圖 二.if else switch for while do while 1.if else語句 if 條件1 else 遇到的問題 1.if後忘加 2.對於多個if else語句,else屬於哪個if不確定。解決方法 在編譯器中執行 養成在if後新增 的習慣。2.switch語句 使用...