Re: 請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
版主
|
參照:
24-bit float 應該說是值的範圍很大,但位數值因受限於實數的限制只有 15 個 bit 的值。 long 及 unsigned long 是 32-bit 資料型別,其數值最大。如貼圖所示:
發表於: 2021/4/20 15:54
|
|||
|
Re: 請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
資深會員
|
Dear Ryang :
最大的正數是 3.4028235*10^38 所以float的值可以很大就是? 謝謝.
發表於: 2021/4/20 15:39
|
|||
|
Re: 請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
資深會員
|
Dear Ryang :
單精度尾數佔用 bit 22~00 的位置為23個 bit的欄位,有24 bit 的解析度。 1. 所以整數是2^(23+1) = 16777216 ? 2.小數就不知了! 謝謝?
發表於: 2021/4/20 14:27
|
|||
|
Re: 請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
版主
|
參照 XC8 使用手冊內的資料格式,24-bit float 的範圍是: 3.587324e-43 (00 00 01) ~ 3.402771E+38 (7f 7f ff)
這數值有點抽象,建議參考 MPLAB X IDE 所提供的 Watch Window 來觀察 float 變數的時計顯示值的大小。 浮點數的格式可以在: Project Properties --> 選擇XC8 Linker 選擇Memory Model 後,修改浮點數格式 (24-bit or 32-bit 格式)
發表於: 2021/4/20 11:31
|
|||
|
Re: 請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
資深會員
|
Dear Ryang :
float : 24-bit format : 1 bit 正負號 + 8 bit 指數 + 15 bit 尾數 那請問 8 bit 指數可以是多少位數的整數及 15 bit 尾數是多少位數的小數? 因要換成字串所以需知道各為多少位數才行. 煩請指教,謝謝.
發表於: 2021/4/20 11:00
|
|||
|
Re: 請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
版主
|
參照:
如果是宣告的是浮點數,其數值的大小可以在 Watch Window 觀測的。 XC8 浮點數的範圍是: float : 24-bit format : 1 bit 正負號 + 8 bit 指數 + 15 bit 尾數 double : 32-bit format : 1 bit 正負號 + 8 bit 指數 + 23 bit 尾數
發表於: 2021/4/20 10:42
|
|||
|
Re: 請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
版主
|
8 位元做浮點數的運算會耗掉很多效能的,建議在 8-Bit MCU 如能不用浮點數運算就不要用。此時可以考慮使用整數的方式運算後,在最後的結果再打上小數點做顯示。
一般我的做法是先將要運算的整數先乘以 1000 後再運算。比如兩放大後的整數相加或相乘/除後的值,轉成 ASCII Code 後傳送出去顯示時,小數點的位置你應該知道,就在送完個位數時再多傳送一個小數點出去。畢竟小數點是給人看得,電腦在做整數運算時是沒有小數點這玩意的。
發表於: 2021/4/20 10:39
|
|||
|
請問PIC的float的整數及小數是幾位數?
|
||||
---|---|---|---|---|
資深會員
|
Dear All :
因要做顯示用所以須知有多少位數. 謝謝.
發表於: 2021/4/20 9:37
|
|||
|