C語言:乘除
阿新 • • 發佈:2020-12-28
技術標籤:C語言
乘法
用計算一元二次方程表示乘法的例子
/* 求方程的根:ax^2 + bx + c = 0 */ #include "math.h" main() { float a, b, c, d, x1, x2, q; printf("please input a, b, c\n"); scanf("%f,%f,%f", &a, &b, &c); d = b * b - 4 * a * c; // 驗證方程b的平方大於4ac q = sqrt(d); // 求值的開平方 x1 = (-b + q) / (2 * a); x2 = (-b - q) / (2 * a); printf("d=%.2f, x1=%.2f, x2=%.2f\n", d, x1, x2); }
除法
整數相除,結果只保留整數,小數部分丟失
實型數和整形數運算,會先將整形數轉換成實型數,結果也會返回實型數
實型數儲存規則
如值為單精度值,則在記憶體空間佔4位元組,其中3位元組用來表示小數部分,1位元組用來表示指數部分。
小數部分:使用一位來表示小數符號(正、負),用23位來表示小數的數值
指數部分:使用一位來表示指數符號(正、負),用7位來表示指數的值
整形數儲存規則
整形數佔用記憶體的2位元組中,1位用來表示符號(正、負),15位用來表示數值
整型數轉換成實型數過程中,就是將數值部分寫入實型數小數部分的數值中,指數則沒有。
實型數運算規則
實型數在計算機內部都按指數形式存放
實型數在運算器中都按雙精度計算
記憶體的儲存精度取決於對變數的定義
數的有效位限制在最後輸出時是按照儲存結構和輸出格式確定的
實際運算中,實型數表示範圍較大,但是計算過程中值可能出現偏差,整型數表示範圍較小,但是計算過程值是可控的。