欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2632|回復(fù): 4
收起左側(cè)

單片機加法計算器程序調(diào)試問題

[復(fù)制鏈接]
回帖獎勵 10 黑幣 回復(fù)本帖可獲得 10 黑幣獎勵! 每人限 1 次
ID:1079270 發(fā)表于 2023-6-30 14:21 | 顯示全部樓層 |閱讀模式
void KeyAction(unsigned char keycode)
{
    static unsigned long result = 0;  //用于保存運算結(jié)果
    static unsigned long addend = 0;  //用于保存輸入的加數(shù)
   
    if ((keycode>=0x30) && (keycode<=0x39))  //輸入0-9的數(shù)字
    {
        addend = (addend*10)+(keycode-0x30); //整體十進制左移,新數(shù)字進入個位
        ShowNumber(addend);    //運算結(jié)果顯示到數(shù)碼管
    }
    else if (keycode == 0x26)  //向上鍵用作加號,執(zhí)行加法或連加運算
    {
        result += addend;      //進行加法運算
        addend = 0;
        ShowNumber(result);    //運算結(jié)果顯示到數(shù)碼管
    }
    else if (keycode == 0x0D)  //回車鍵,執(zhí)行加法運算(實際效果與加號相同)
    {
        result += addend;      //進行加法運算
        addend = 0;
        ShowNumber(result);    //運算結(jié)果顯示到數(shù)碼管
    }
    else if (keycode == 0x1B)  //Esc鍵,清零結(jié)果
    {
        addend = 0;
        result = 0;
        ShowNumber(addend);    //清零后的加數(shù)顯示到數(shù)碼管
    }
}
問:(keycode-0x30)計算出是一個十六進制的數(shù), ShowNumber(addend)的addend是一個十進制的數(shù)





回復(fù)

使用道具 舉報

ID:161164 發(fā)表于 2023-6-30 17:56 | 顯示全部樓層
進制是給人看得
單片機只認(rèn)1/0
回復(fù)

使用道具 舉報

ID:404160 發(fā)表于 2023-6-30 18:00 | 顯示全部樓層
你的shownumber()是按十進制格式顯示的,可改成十六進制格式輸出,就不是十進制的數(shù)了。你可以手工轉(zhuǎn)換下十進制數(shù)為十六進制數(shù),看看顯示的值是否正確
回復(fù)

使用道具 舉報

ID:1086796 發(fā)表于 2023-7-1 21:13 | 顯示全部樓層
在給定的代碼中,(keycode-0x30)計算的結(jié)果是一個十六進制數(shù)減去十六進制數(shù)字0x30,這實際上是將十六進制數(shù)轉(zhuǎn)換為對應(yīng)的十進制數(shù)。這是因為在ASCII編碼中,數(shù)字0-9的十六進制表示正好是0x30-0x39。所以,通過將keycode減去0x30,可以將十六進制數(shù)字轉(zhuǎn)換為對應(yīng)的十進制數(shù)字。

ShowNumber(addend)函數(shù)可能接受的是十進制數(shù)字作為參數(shù),因為在代碼中沒有給出ShowNumber函數(shù)的實現(xiàn)細(xì)節(jié),無法確定確切的數(shù)據(jù)類型。但是,根據(jù)代碼中的邏輯,addend應(yīng)該是一個保存十進制數(shù)字的變量,因為它在每次按下0-9的數(shù)字鍵時都會被更新,并且最終傳遞給ShowNumber函數(shù)以顯示在數(shù)碼管上。

評分

參與人數(shù) 1黑幣 +12 收起 理由
xnysfh + 12 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

ID:1079270 發(fā)表于 2023-7-3 08:31 | 顯示全部樓層
dwping 發(fā)表于 2023-7-1 21:13
在給定的代碼中,(keycode-0x30)計算的結(jié)果是一個十六進制數(shù)減去十六進制數(shù)字0x30,這實際上是將十六進制數(shù) ...

非常感謝,看了你的解釋我大致明白了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表