0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

c語言攝氏度與華氏溫度如何轉(zhuǎn)換

姚小熊27 ? 來源:電工之家 ? 作者:電工之家 ? 2019-11-24 11:16 ? 次閱讀

攝氏度與華氏度的轉(zhuǎn)換公式為C=(F-32)*5/9。

不少人看到這樣的轉(zhuǎn)換公式就會將攝氏度C和華氏度F定義成浮點數(shù)類型的變量。

然后采用C語言編寫

C=(F-32)*5/9的語句進行轉(zhuǎn)換。

如果在帶有浮點數(shù)高級處理器上運算、或者是對實時性沒有要求,不在乎該轉(zhuǎn)換所耗費的時間,則沒有任何問題。

但是如果該程序運行在普通的單片機,而且該單片機除了要進行轉(zhuǎn)換之后,還有其它實時性要求高的任務需要處理。比如需要快速進行故障判斷并進行保護,或者是需要進行通信數(shù)據(jù)處理,快速響應。

比如需要進行輸出短路的保護判斷,有些輸出的短路可能需要在幾百us內(nèi)進行保護,否則可能損壞器件,如果該轉(zhuǎn)換耗時幾ms以上,可能就會導致響應不及時,造成器件損壞。

所以當程序運行在普通的單片機時,我們還需要考慮該單片機是否支持硬件的浮點數(shù)運算,甚至要考慮是否有硬件的乘法器。

普通的單片機不支持硬件浮點數(shù)運算,浮點數(shù)的四則運算可能需要軟件算法實現(xiàn),會花費大量的時間。

這種情況,我們可以根據(jù)精度和量程要求,放縮之后,將C和F定義為整型的變量,再進行運算。

比如,如果我們?nèi)?位小數(shù)的精度,量程為100攝氏度,

則可以將C和F定義為16位的整型,采用下列的程序進行轉(zhuǎn)換;

signed short C, F;

C=(F-32)*50/9。

早期的MicrochipPIC16F,PIC18F系列的處理器,沒有硬件乘除法器,進行乘除法運算,都需要通過軟件算法實現(xiàn),可能耗費幾十ms的時間。

這種情況我們可以通過加法和移位操作實現(xiàn);

*5/9約等于36408/65536=(32768+2048+1024+512+32+16+8)/65536;

將C定義為32位的整型。

signed int C, d1,d2;

d1=F-32;

d2=d1 《《 3;//*8

d1 = d1 《《1;//*16

d2 += d1;

d1 = d1 《《 1;//*32;

d2 += d1;

d1 = d1 《《 5;//*512;

d2+= d1;

d1 = d1 《《 1;//*1024;

d2 += d1;

d1 = d1 《《 4; //*32768

d2+= d1;

C=d2》》16;

這樣可以大大節(jié)省轉(zhuǎn)換時間。

首先,我們要理解需求,就像你問的“攝氏度與華氏溫度如何轉(zhuǎn)換”,然后就是設計,簡單點就是使用怎樣的公式算法來解決問題,

“攝氏溫標”是經(jīng)驗溫標之一,亦稱“百分溫標”。溫度符號為t,單位是攝氏度,國際代號是“℃”

華氏溫標”是經(jīng)驗溫標之一。在美國的日常生活中,多采用這種溫標。規(guī)定在一大氣壓下水的冰點為32度,沸點為212度,兩個標準點之間分為180等分,每等分代表1度。華氏溫度用字母“F”表示。它與攝氏溫度(C)和之間的換算關(guān)系為F=9/5c+32, 或C=5/9(F-32)。

現(xiàn)在轉(zhuǎn)換公式已經(jīng)有了,就是編碼實現(xiàn)了。

代碼:

#include 《stdio.h》

int main(void)

{

float F,C;

print(“華氏度--攝氏度轉(zhuǎn)換器\n”)

printf(“請輸入您需要轉(zhuǎn)換的華氏溫度:”);

scanf(“%f”,&F);

C = (F-32)*5/9.0;

printf(“其對應的攝氏溫度為:%.2f \n”,C);

return 0;

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134034
  • 攝氏度
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    3608
收藏 人收藏

    評論

    相關(guān)推薦

    華氏攝氏各種溫度轉(zhuǎn)換公式總結(jié)

    溫度轉(zhuǎn)換計算公式轉(zhuǎn)換到公式9/5 = 1.8 9/4 = 2.25 10/8 = 1.25[size=-1]華氏溫度攝氏溫度 jk℃ = (
    發(fā)表于 10-22 15:31

    攝氏溫度華氏溫度顯示

    攝氏溫度華氏溫度顯示
    發(fā)表于 06-02 11:56

    labview如何通過按鍵選擇溫度顯示的類型,如是攝氏溫度還是華氏溫度?

    本帖最后由 Crystal6927 于 2015-9-2 11:24 編輯 labview如何通過按鍵選擇溫度顯示的類型,如是攝氏溫度還是華氏溫度?比如按下按鍵,顯示攝氏溫度,再
    發(fā)表于 09-02 11:22

    -55至+150攝氏度溫度計電路

    -55至+150攝氏度溫度計電路
    發(fā)表于 02-06 00:24 ?832次閱讀
    -55至+150<b class='flag-5'>攝氏度</b><b class='flag-5'>溫度</b>計電路

    華氏溫度計電路

    華氏溫度計電路
    發(fā)表于 02-07 02:15 ?501次閱讀
    <b class='flag-5'>華氏溫度</b>計電路

    華氏溫度計電路圖

    華氏溫度計電路圖
    的頭像 發(fā)表于 04-13 09:26 ?2592次閱讀
    <b class='flag-5'>華氏溫度</b>計電路圖

    華氏溫度計電路圖

    華氏溫度
    發(fā)表于 04-28 19:57 ?681次閱讀
    <b class='flag-5'>華氏溫度</b>計電路圖

    C語言入門教程-示例:編寫能夠打印華氏-攝氏溫度轉(zhuǎn)換表的程序

    示例:編寫能夠打印華氏-攝氏溫度轉(zhuǎn)換表的程序 假設您要編寫一個能夠打印華氏-攝氏溫度轉(zhuǎn)換表的程
    發(fā)表于 07-29 10:52 ?5008次閱讀

    溫度轉(zhuǎn)換計算公式

    本文提供比較詳細的溫度轉(zhuǎn)換計算公式列表。附有攝氏溫度C)/華氏溫度(°F)轉(zhuǎn)換器。
    發(fā)表于 03-08 17:56 ?3.1w次閱讀

    華氏溫度攝氏溫度的換算表

    攝氏溫度華氏溫度的換算式是: 5(tF- 50)=9(tC-10) 式中tF——華氏溫度,tC——攝氏溫度
    發(fā)表于 11-11 14:03 ?1.6w次閱讀

    華氏溫度攝氏溫度的換算公式,溫度換算公式大全

    華氏溫度把水的冰點定為32,沸點定為212,符號為F,而攝氏溫度,冰點時溫度為0攝氏度,沸點
    發(fā)表于 09-06 18:04 ?3.7w次閱讀

    華氏度攝氏度的換算在線計算 溫度轉(zhuǎn)換公式大全

    本文提供華氏度攝氏度的換算,華氏溫度、攝氏溫度的在線轉(zhuǎn)換與換算工具,各種不同溫度計量單位的
    發(fā)表于 09-13 15:36 ?1.5w次閱讀

    華氏溫度攝氏溫度換算 攝氏溫度轉(zhuǎn)換華氏溫度計算公式

    華氏溫度從字面上的字意表示,是可以顯示華氏溫度溫度表上顯示的溫度數(shù)值(溫度計),同樣的,攝氏溫度
    發(fā)表于 09-20 14:11 ?2.2w次閱讀

    華氏溫度換算公式及C語言轉(zhuǎn)換程序代碼

    華氏溫標”是經(jīng)驗溫標之一。在美國的日常生活中,多采用這種溫標。規(guī)定在一大氣壓下水的冰點為32,沸點為212,兩個標準點之間分為180等分,每等分代表1
    發(fā)表于 10-10 18:52 ?1.1w次閱讀

    格朗耳溫槍怎么調(diào)攝氏度

    攝氏度、華氏度自由轉(zhuǎn)換方法:先關(guān)機,長按測溫鍵不放,當屏幕顯示“F”的圖標時,松開按鍵,再按一下測溫鍵,當屏幕“F”變成“C”的圖標,然后等待關(guān)機,再開機就可以了。
    發(fā)表于 02-27 17:21 ?1.1w次閱讀