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,若果計算不在計算範圍,計算的答案將不成立。