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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4707|回復: 8
打印 上一主題 下一主題
收起左側

51單片機C語言怎么去掉十字前面的0

[復制鏈接]
跳轉到指定樓層
樓主
ID:33455 發表于 2020-11-17 13:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
例如:四位顯示0008,怎么只顯示8,前面的0不顯示,只顯示有效數字,就是8,88,888,8888,這些有效數字 謝謝
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:740383 發表于 2020-11-17 15:21 | 只看該作者
如果是數碼管顯示,可以參考如下:
uint num= 0008;
uchar a,b,c,d;

a=num/1000;
b=num%1000/100;
c=num%1000%100/10;
d=num%1000%100%10;
if(a==0)
{
//當前數碼管清屏0x00;
}
if(b==0&&a==0)
{
//當前數碼管清屏0x00;
}
if(c==0&&b==0&&a==0)
{
//當前數碼管清屏0x00;
}
if(d==0&&c==0&&b==0&&a==0)
{
//當前數碼管清屏0x00;
}
回復

使用道具 舉報

板凳
ID:278840 發表于 2020-11-17 15:35 | 只看該作者
樓上正解!
回復

使用道具 舉報

地板
ID:33455 發表于 2020-11-17 16:20 | 只看該作者
danq 發表于 2020-11-17 15:21
如果是數碼管顯示,可以參考如下:
uint num= 0008;
uchar a,b,c,d;

感謝,我試下萬分感謝
回復

使用道具 舉報

5#
ID:548551 發表于 2020-11-18 20:15 | 只看該作者
不是很明白你的意思, 所以試著猜測一下.  你的數碼管是四位的數碼管. 你只想讓顯示最后一位是么?  
回復

使用道具 舉報

6#
ID:836364 發表于 2020-11-18 21:00 | 只看該作者
danq 發表于 2020-11-17 15:21
如果是數碼管顯示,可以參考如下:
uint num= 0008;
uchar a,b,c,d;

有個地方寫錯了,這個是一個字符類型的變量,如果你的清屏程序沒錯的話,應該這樣寫if(a==‘0’)
回復

使用道具 舉報

7#
ID:367934 發表于 2020-11-19 09:34 | 只看該作者
這好像是規則問題。
你定義的時候不管前面有多少個0,存在內存的時候也只是一個有效數據。
比如定義:
int data=000000008;
實際調用 data=0;
在使用打印的時候:
printf("%d\r\n",data);打印的結果也只是:8
如果沒記錯的話需要
printf("%04d\r\n",data);結果才是:0008
所以你的這個解決辦法就是在數碼管初始化的時候默認顯示全零就好。
回復

使用道具 舉報

8#
ID:33455 發表于 2020-11-19 20:25 | 只看該作者
意思是只顯示有效數字,前面的
零不現實,變成有效數字才顯示
回復

使用道具 舉報

9#
ID:782419 發表于 2020-11-20 09:19 | 只看該作者
高位0不顯示吧!可以在顯示每一位的時候進行數值判斷,比如第二位只有在大于9的時候才顯示,第三位只有在大于99的時候才顯示,第四位只有在大于999的時候才顯示,你可以考慮一下!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表