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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10068|回復: 2
收起左側

[求助]二進制小數轉換十進制小數的捷徑!

[復制鏈接]
ID:5918 發表于 2008-10-15 11:19 | 顯示全部樓層 |閱讀模式

問題如下:現有一二進制 整數 1111 而我要把它表示為十進制小數點兩位有效數字?在DX18B20溫度小數轉換碰到的問題!要用最簡單直接的方法,不要出現2的負幾次方之類的轉換! 向高手求救謝謝!

補充問題:

用DS18B20精確到小數點后一位的溫度測量實現

DS18B20的測量溫度范圍為 -55°C~+125°C,在-10~+85°C范圍內,精度為±0.5°C

從DS18B20輸出的后4位就是小數點后的數,其數值乘與0.0625就是實際的溫度,大家知道,在8位的51單片機中,做個乘法并不容易,而且DS18B20精度為±0.5°C,有的算法直接舍去從而精確到1°C

1,我看到有些程序用查表法確定精度,這是一個很好的方法!但查表法有它的弱點要列表!

2,也看到有同志用這樣的方法,

如果a是從18B20里讀來的低8位值

xiaoshu1 = (a&0x0f)*10/16; //小數第一位

xiaoshu2 = (a&0x0f)*100/16%10;//小數第二位

xiaoshu=xiaoshu1*10+xiaoshu2; //小數兩位

這里我就是弄不懂為什么是乘以十就是小數第一位 乘以一百就是小數第二位?

盡管精度是0.5C,沒有實際意義,但這種算法是有用的,就是不知道其原理?

所以引申問題:現有一二進制 整數 N位 而我要把它表示為十進制小數點M位(M<N)有效數字?該怎樣進行轉換?

實際中肯定會有類似問題!

回復

使用道具 舉報

ID:5918 發表于 2008-10-15 19:04 | 顯示全部樓層

要頂  啊

回復

使用道具 舉報

ID:5857 發表于 2008-10-18 22:41 | 顯示全部樓層
我感覺可以用數組來代替,不過得好好編排一下才行。把0000-1111和小數對應起來,定義宏也行。不知道可行不。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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