unsigned long data1;//定義被除數
unsigned long data2;//定義除數
unsigned long data3;//定義結果
data3=data1/data2;//計算結果
2. 求C語言代碼:單片機沒有乘除法,如何實現乘除法運算
單片機乘除法要用到ACC與B寄存器
所以在中斷程序中:
{
ACC++;
,
,
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
}
最後的兩個除法把ACC的值改變了。把變數ACC改為一個其它的全局變數就好了。(比如定義一個全局變數unsigned
char
n;把ACC改為n;)
C語言編程中,變數最好讓編譯器自己處理,不要直接用某一個寄存器。
3. 單片機中C語言如何實現浮點除法運算
直接除就可以了
比如定義一個整形變數int x;
另一個整形變數int y;
浮點型變數float z;
浮點數除法:
z = (float)x / (float)y
4. 51單片機C語言的「除法」不解
a=w/10; //這個我是不打算做除法的,是求w有多少個10以內的數
----
如果 A >= 10,顯然,A 有 10 個10以內的數(0~9)。
如果 A < 10,A 有 A + 1 個10以內的數。
如,A = 7,顯然,A 有 8 個10以內的數(0~7)。
5. 關於51單片機C語言小數除法的問題
編譯時提醒什麼錯誤
6. 關於51單片機C語言除法的問題
需要使用'('和')'來代替'['和']', C語言中用()來確定運算優先順序, []是數學中的表達方式.
頭文件<math.h>是PC機編譯器C/C++里的頭文件, 需要確定51編譯器中是否有此頭文件.
/1024其實就是移位操作, 如果變數u的取值范圍足夠大, 可以使用移位操作, 即>>10來代替/1024. 像處理器這種東西, 最怕做的是除法, 代價很高, 速度很慢.
另外, 51單片機是8位處理器, double型和float型的取值范圍是一樣的.
-中國物聯網校企聯盟技術部
7. 單片機C語言如何用移位法表達除以216
用移位做除法主要是為了快速,但只有2的n次方才可以,但可以用位移和減法來做也不慢,x*216=(x 《 8) - (x 《 5) - (x 《 3)
8. 單片機和C語言有什麼關系嗎
語法、運算符和變數規則都一樣,由於CPU不同,所以庫函數都不一樣。在普通C中常用的頭文件是stdio.h,在單片機(51為例)常用的頭文件是reg51.h或reg52.h。單片機面向的是硬體環境更多一些。常用函數printf,普通C中輸出到屏幕,單片機中輸出到串口。等等,具體的需要自己去挖掘。
9. 51單片機,c語言寫程序,什麼數學運算都可以嗎加減乘除,對數,指數,三角函數,平方,根號,立方,
KEIL C51 有個數學函數庫(和C語言的 數學函數庫類似)
指數,三角函數,平方,開方,立方都有的。具體可以看 相關的資料。
數學函數庫 需要看頭文件MATH.H
例如:
1.指數函數 float exp(float x)
2.對數函數 float log(float x) ,float log10(float x)
3.平方根:float sqrt(float x)
3.三角函數 :
float cos(float x),float sin(float x),float tan(float x)
float acos(float x),float asin(float x),float atan(float x),float atan2(float y, float x)
float cosh(float x),float sinh(float x),float tanh(float x)
等很多了,具體去看相關的資料吧
希望我的回答對你有所幫助,很高興和你一起討論單片機編程技術。