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

標題: [求助]二進制小數轉換十進制小數的捷徑! [打印本頁]

作者: yyph5965    時間: 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)有效數字?該怎樣進行轉換?

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


作者: yyph5965    時間: 2008-10-15 19:04

要頂  啊


作者: muselife    時間: 2008-10-18 22:41
我感覺可以用數組來代替,不過得好好編排一下才行。把0000-1111和小數對應起來,定義宏也行。不知道可行不。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1