1. 程式人生 > 其它 >C語言:乘除

C語言:乘除

技術標籤: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位用來表示數值

整型數轉換成實型數過程中,就是將數值部分寫入實型數小數部分的數值中,指數則沒有。

實型數運算規則

實型數在計算機內部都按指數形式存放

實型數在運算器中都按雙精度計算

記憶體的儲存精度取決於對變數的定義

數的有效位限制在最後輸出時是按照儲存結構和輸出格式確定的

實際運算中,實型數表示範圍較大,但是計算過程中值可能出現偏差,整型數表示範圍較小,但是計算過程值是可控的。