N進數的補數與10進數間轉換

程式編寫日期: 2007年2月9日

程式 (136 bytes)

Mem clear: ?→D: ?→A: ?→B: ?→C: 1→Y:

0>A => B^C + A→A: Fix 0: D => Goto 1:

Lbl 0: A => A÷10 - . 5: Rnd: Ans→X: Y(A - 10X M+:

BY→Y: X→A => Goto 0: M≧B^C÷2 => B^C M-:

Lbl 1: A => A÷B - . 5: Rnd: Ans→X: Y(A - BX M+:

10Y→Y: X→A => Goto 1: Norm 1: M

 

例題1: 若5位的2進數補數為11001,將這數轉換為10進數。

Prog 1 再按 0 EXE (0代表計算10進數的數值)

11001 EXE 2 EXE 5 EXE (顯示答案為 - 7)

計算完結後按 MODE 1 返回正常計算模式。

 

例題2: 將10進數 - 7 以2進數的補數(5位)表示。

按 Prog 1  再按 1 EXE (1代表計算n進數的補數)

- 7 EXE 2 EXE 5 EXE (顯示答案為 11001)

計算完結後按 MODE 1 返回正常計算模式。

 

註: 若十進數數值為x,m位n進數的範圍為 - nm-1 ≦ x ≦ nm-1 - 1,若果計算不在計算範圍,計算的答案將不成立。

 

返回 fx-3650P及SC-185程式集

Free Web Hosting