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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3738|回復: 0
收起左側

在KEIL中不同數據類型計算出錯的解決方法(承接單片機項目開發)

[復制鏈接]
ID:63113 發表于 2017-9-16 15:50 | 顯示全部樓層 |閱讀模式
本帖最后由 yonko 于 2017-9-17 18:58 編輯

之前在一個51單片機開發項目中進行數值運算,但是再編譯調試過程中老是出錯,定位至出錯的代碼,發現是不同數據類型之間的計算不匹配。當長短數據類型的數據之間進行計算時,建議把短位數據轉換為長位數據,達到數據類型格式盡量一致(我處長期承接單片機項目開發、電路板設計等,QQ2531263726)
‘-----------------------------------出現的問題-----------------------------------
unsigned long  sj=0;
unsigned char shijian=15 ;
sj= (unsignedlong)(1*100000000+((shijian/10)%10)*10000000;
用上式計算式經常出現未知錯誤。
‘-----------------------------------解決方案-----------------------------------
計算公式改為:
sj= (unsignedlong)(1*100000000UL+((shijian/10)%10)*10000000UL;
在數據10000000010000000后面加上限定符號UL(Unsigned Long)之后,問題得到解決。

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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