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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2735|回復: 3
收起左側

單片機溫度轉換的算法有一行代碼始終想不明白

[復制鏈接]
ID:189772 發表于 2018-3-28 21:52 | 顯示全部樓層 |閱讀模式
看到一位大俠的貼子,地址如下:
摘要部分如下,
unsigned chardis[]={0x00,0x00,0x00,0x00,0x00,0x00};//顯示數據
unsigned char TemL;
unsigned char TemLH;
unsigned char TemLL;
unsigned char TemH;
unsigned long Tem;
bit TempS;

TemL=r_18b20();    //低字節
TemH=r_18b20();   //高字節

TemLH=TemL>>4; 低字節的4位整數
TemLL=TemL&0x0F; 低字節的4位小數
Tem=(TemH*16 + TemLH + TemLL*0.0625)*10000;

TemH*16相當于TemH右移4位,高字節的4位有效的整數位,

Tem=(TemH*16 + TemLH + TemLL*0.0625)*10000;這一句始終想不明白,為什么只有小數部分乘以0。0625?




回復

使用道具 舉報

ID:189772 發表于 2018-3-29 07:39 | 顯示全部樓層
求大神解答呀,高分懸賞
回復

使用道具 舉報

ID:164602 發表于 2018-3-29 08:24 | 顯示全部樓層
“不要迷信哥,哥只是個傳說”
你發現得對啥,我認為那個就是錯的。
雖然那個實驗顯示了東西,但不一定是正確的濕度嘛。
這里有個正確的,你看看。

                temp=tp*0.0625*100+0.5;       
                //留兩個小數點就*100,+0.5是四舍五入,因為C語言浮點數轉換為整型的時候把小數點
                //后面的數自動去掉,不管是否大于0.5,而+0.5之后大于0.5的就是進1了,小于0.5的就
                //算加上0.5,還是在小數點后面。

想得通了哈。
回復

使用道具 舉報

ID:189772 發表于 2018-3-29 19:59 | 顯示全部樓層
2的負4次方正好是0.0625,所以,小數部分部分乘以0。0625是正確的,只是程序處理方面,我還沒有完全弄明白,不管如何,謝謝你
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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