新しく発言する  EXIT  インデックスへ

16進法


  16進法 マメ 2008/03/27 23:16:08 
  !10進レジスター:16進レジスターのよう... SECOND 2008/03/28 01:51:15 
  │└!エピソード SECOND 2008/03/28 18:04:07 
Re: !10進レジスター:16進レジスターのよう...  返事を書く  ノートメニュー
SECOND <jjqdmekgpt> 2008/03/28 18:04:07
!エピソード

!任意のN進数へ・・・同じです。

!入力レジスター:N進レジスター のように並べて
!右方向にシフト(Nで割る)。

DIM hex(100) ! ←出力の最大桁

CALL place(100000,2) ! ← ( 入力のunsigned 数値,N進数)
CALL place(100000,3)
CALL place(100000,4)
CALL place(100000,5)
CALL place(100000,6)
CALL place(100000,7)
CALL place(100000,8)
CALL place(100000,9)
CALL place(100000,10)
CALL place(100000,11)
CALL place(100000,12)
CALL place(100000,13)
CALL place(100000,14)
CALL place(100000,15)
CALL place(100000,16)

SUB place( dec, N )
PRINT N;"進数: ";
!
LET p=1
DO WHILE N <=dec
LET hex(p)=MOD(dec,N)
LET dec=INT(dec/N)
LET p=p+1
LOOP
LET hex(p)=dec
!
! hex(p) 〜 hex(1)  ←出力の unsigned N進数
!
FOR i=p TO 1 STEP -1
LET y=hex(i)
PRINT mid$( "0123456789ABCDEF", y+1 ,1 );
NEXT i
PRINT
END SUB

END

!N進レジスター:10進レジスター のように並べて
!左方向にシフトする(10を乗ず)方法も、有ります。
!が、高級言語のBASICは、N進演算をしませんので、適しません。
  │ └エピソード2 SECOND 2008/03/28 19:17:59 
  │  └!2進化10進数(BCD、Binary-codeddecimal)... 山中和義 2008/03/30 12:52:58 
  簡単なのは組込み関数のBSTR$を使うことです... 荒田浩二 2008/03/28 11:39:51  (修正1回)

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。