• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 請問如何處理 15位整數 及 關於 float 的限制
#10
版主
版主


查看用戶資訊
Master 所言,在 Google 搜尋一下"大數運算 c" 好多範例。

發表於: 2008/7/30 14:30
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#9
新會員
新會員


查看用戶資訊
15位數....

要乘除 = =a..

看來難度很大......而且不能用PC

這是奇怪客戶的奇怪要求...

發表於: 2008/7/30 14:12
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#8
資深會員
資深會員


查看用戶資訊
這是「大數運算」的部分,上GOOGLE查「大數運算」,資料就不少了。實作上也不難。不過基本上大數運算的乘除都很慢,所以你要考慮清楚你的DSC要怎麼用...

發表於: 2008/7/30 13:31
不要問我哪裡來,我只是個流浪天涯的工程師
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#7
資深會員
資深會員


查看用戶資訊
15位整數 用 7個byte 就個就能整個容納

不要用 c ,自己定資料格式來寫就可以了

簡而言之,不要想用compiler 本身所提供的 + -*/ >< =這此運算子

通通需要自己實作出來

一般的整數
int i,j

i=3 ; j=4; if(j>i) i++;

現在你要用你自定的大數(b_int)

嵌就會變成
b_int i,j
int x;

equal(i,3000000,1000000);
equal(j,23230203,2302032);
x=compare(i,j);
if(x >=0) inc(i);

會變成類似這樣的程序,其中不 equal compare ...這些你用得到的運算程序,都得你自己實作出來。

一般的 compiler 不可能支援到這麼大的數。

至於 float 就更不要想了,float 可以表示的數值看起來很大,但是實際的精度卻是有限。

發表於: 2008/7/30 12:31
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#6
資深會員
資深會員


查看用戶資訊
如版主說的使用C30
也就是dsPIC30F 33F 24F 24H

或PIC32

你的數值很大大
應該不是業界

你應該是學校單位再做公式驗證

其實數值那麼大 用PC較快

發表於: 2008/7/30 11:58
==== ^^ ^^ ====
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#5
版主
版主


查看用戶資訊
只有加減運算或還要乘除?

發表於: 2008/7/30 11:52
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#4
新會員
新會員


查看用戶資訊
就是一個 很大的 15位整數 囉 ~_~

123456789012345 一百多兆 去做運算這樣 ~

發表於: 2008/7/30 11:42
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#3
資深會員
資深會員


查看用戶資訊
你說的不是很清楚
是15 BIT
還是 十進位15位數 ==>很少有這種值 除非算錯

還是15個 INT做運算 ==>可以分開計算加總

你的15位是什麼???????

發表於: 2008/7/30 11:38
==== ^^ ^^ ====
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問如何處理 15位整數 及 關於 float 的限制
#2
版主
版主


查看用戶資訊
Flaoting 在 C18 裡的算一算只有 8 個實數而已主要是他的動態範圍較大但精確度仍受限於 4 byte 關係;long 也只能算到10 個數字。
如果要算到 15 位的精確值,只有自己想辦法算,或去 Google 試一下運氣。或使用 PIC24 C30 編譯器,他的 Double 就支援到 64 bits。

型  別           字 元 數 (Bits)        數 字 範 圍 (Range)
void            N/A        N/A
char             8        
-128 ~ +127
unsigned char          8        0 
255
int  
(或 short)        16        32,768 32,767
unsigned int        16        0 
65,535
short long        24        
8,388,608 8.388.607
unsigned short long    24        0 
16,777,215
long            32        
2,147,483,648 2,147,483,647
unsigned long        32        0 
4,294,967,295
float            32        1.7549435e-38 
6.80564693e+38
double            32        1.7549435e-38 
6.80564693e+38

發表於: 2008/7/30 10:43
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問如何處理 15位整數 及 關於 float 的限制
#1
新會員
新會員


查看用戶資訊
使用 PIC18F6620

因為要做 15位 整數的運算 unsigned long int 4個 byte不夠使用

因此想用 float 去做

依照 C18 User's Guild 的說明 float 可以支援到 6.805 e+38

但是我約使用到七八位整數 就出錯了

想請問這樣做是錯誤的嗎??

有其他方法可以處理這種 15位整數的運算嗎

感謝回答^^

發表於: 2008/7/30 9:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------