怎樣把51微控制器中的float型的數轉化成int型的

2021-04-18 19:53:05 字數 2301 閱讀 1570

1樓:沙里波特

51微控制器中,本來也用不著float型的數,這float型的數,是**來的?

你既然用了float型的數,就接著用,還轉換它幹嘛?

2樓:匿名使用者

float a=1.1;

int b;

b=(int)a;

c語言浮點型轉換為整型怎麼轉換的?

3樓:匿名使用者

第一種是bai利用系統預設的轉換,du即將小數部分zhi截去dao,僅保留整數部分回,如3.6轉換答為3,-5.68轉換為5。

第二種是強制型別轉換,效果與第一種相同,如(int)(-6.666)為-6。

如有其他特殊要求,則需要程式設計解決。

4樓:匿名使用者

c語言中沒有四捨五入,將浮點型轉換成整形時,只保留小數點前面的數值

5樓:匿名使用者

float ftemp;

不要後面bai

的=0;因為一旦你分配du給ftemp了值,它zhi是無法通過dao鍵盤寫入的方式賦給

回的,因為空答間已經被占用。這不是a=b+c這樣表示式的賦值。

暈,難道要我把源**給你你直接複製?

那就給你吧!

#include

void main()

隨便輸入乙個數,然後回車,看結果

6樓:程式猿3號

c語言復有以下幾種取整方法:

1、直接制賦值給整bai

數變數。如:

int i = 2.5; 或 i = (int) 2.5;

這種du方法採用的zhi是捨去小數部分,能dao用於你的問題。

2、c/c++中的整數除法運算子「/」本身就有取整功能(int / int),而下面介紹的取整函式返回值是double。整數除法對正數的取整是捨去小數部分,能用於你的問題。不過整數除法對負數的取整結果和使用的c編譯器有關。

3、使用floor函式。floor(x)返回的是小於或等於x的最大整數。如:

floor(2.5) = 2

floor(-2.5) = -3

4、使用ceil函式。ceil(x)返回的是大於x的最小整數。如:

ceil(2.5) = 3

ceil(-2.5) = -2

floor()是向負無窮大捨入,floor(-2.5) = -3;ceil()是向正無窮大捨入,ceil(-2.5) = -2。floor函式能用於你的問題。

5、int b = (int)a;//取整int c = (int)(a+0.5);//四捨五入

c51微控制器中如何把 乙個float 的變數取出它的整數存入乙個unsingde char變數中?

7樓:匿名使用者

用c語言的強制型別轉換就可以吧!

8樓:冰酃寒炫

比如:float a;

unsigned char b;

b=(unsigned char)(int)a;

有些編譯copy器float直接轉換bai成duunsigned char 會有警告,所以先轉

zhi換成int型,再轉dao成unsigned char型。

c51微控制器關於float型運算

9樓:匿名使用者

修改**,在bai合適位置增加du1.000*就可以了:zhi

vo=( 1.000 * (cal[1]*256+cal[2])/1024*5)*900 ;

當然也可dao以直接把1024寫成「內1024.000」,不用加「容1.000*」。

如何把乙個很大的float資料提取出來。微控制器c51

10樓:ㄨ『正典』灝皴

我以前試過,51微控制器裡float和double儲存的只到小數點後6位,就像你說的5123456789在51微控制器裡是以5.123456e+9儲存的,也就是5123456000,後邊的都丟失了,所以簡單的程式應該是不可能算到你說的精度的。在32位微控制器上用long long 可以儲存差不多20位的整數,但是keil 51是不支援的。

你用這麼大的數幹什麼?不行就換一種方法吧。

11樓:匿名使用者

你這個5123456789是float型的? 那這數本身這已經丟失精度了, 你想一下,float和long同是4個位元組,為什麼float反而會比long表示的範圍大的多?

如果你這個數是字串,有別的處理方法。

51微控制器是如何產生PWM波的,51微控制器是如何產生PWM波的。。用定時器中斷如何實現

主要通bai過乙個定時器和乙個io口來實現dupwm的輸zhi出。在乙個週期裡 dao面,首先讓io口輸出高電版平,並定時一定的時間然後再權將io口輸出低電平,定時一定的時間。然後在while裡面迴圈輸出即可。需要改變占空比的話就改變高電平的時間與低電平的時間比。設定相應程式,控制相應頻率,輸出高低...

怎麼用51微控制器控制舵機,如何用51微控制器控制舵機的?怎樣編寫程式啊?大哥幫幫忙

操作步驟 1 微控制器,舵機,電源共地 2 用兩個穩壓晶元進行供電,將電源分開來 3 舵機訊號端沒有直接連線微控制器io口,我串了乙個10k的電阻,也就是這一步之後就可以控制舵機。用51微控制器輸出pwm波形去控制就可以了,pwm週期20ms,高電平長度的改變對應 舵機旋轉的角度,找找舵機的資料,就...

51微控制器題目,如何解,51微控制器一道簡單的題目,請教各位大神

x equ 30h y equ 32h mov a,x 30h儲存單元資料0bah移動至a暫存器 jnb acc.7,zheng 若a的最高位等於零,跳轉 cpl a orl a,80h add a,01h a的最高位為1,取反,保留最高位,加1 zheng mov y,a a移動至y 32h儲存單...