02-06-2014, 08:17 PM
Hello friends,
I don't know wether the HP 50g has a build in function for base conversion of integer in exact mode. The program "T2BAS" convert every number in base ten to a choosen base. The program "BAS2T" do it the other way. My programs works with a special out- and input, you kann see it below.
Stack 5: 451
Stack 4: 7
Stack 3: 7:{"1" "2" "1" "3"}
Stack 2: 7:{"1" "2" "1" "3"}
Stack 1: 451
Stack 5 shows the number 451 stack 4 the number 7 this number is the new base
on stack 3 you see the output of "T2BAS": a tagged list with the digits new based.
the tag shows you the base.
stack 2 is the input for "BAS2T" and gives you the output on stack 1.
Remark: the base and the digits are always given in base 10, the programs functioned well for example base 234 (digit range from 0 to 233) or 17 and so on.
Here is the code:
"T2BAS"
"BAS2T"
Greetings
peacecalc
I don't know wether the HP 50g has a build in function for base conversion of integer in exact mode. The program "T2BAS" convert every number in base ten to a choosen base. The program "BAS2T" do it the other way. My programs works with a special out- and input, you kann see it below.
Stack 5: 451
Stack 4: 7
Stack 3: 7:{"1" "2" "1" "3"}
Stack 2: 7:{"1" "2" "1" "3"}
Stack 1: 451
Stack 5 shows the number 451 stack 4 the number 7 this number is the new base
on stack 3 you see the output of "T2BAS": a tagged list with the digits new based.
the tag shows you the base.
stack 2 is the input for "BAS2T" and gives you the output on stack 1.
Remark: the base and the digits are always given in base 10, the programs functioned well for example base 234 (digit range from 0 to 233) or 17 and so on.
Here is the code:
"T2BAS"
Code:
%%HP: T(3)A(R)F(,);
\<< { } \-> N NB LRES
\<<
WHILE N NB \>=
REPEAT N NB IDIV2 \->STR LRES + 'LRES' STO 'N' STO
END N \->STR LRES + NB \->TAG
\>>
\>>
"BAS2T"
Code:
%%HP: T(3)A(R)F(,);
\<< OBJ\-> OBJ\-> 0 \-> LIN OB N
\<<
WHILE LIN SIZE 1 >
REPEAT LIN DUP HEAD OBJ\-> N + OB * 'N' STO TAIL 'LIN' STO
END LIN HEAD OBJ\-> N +
\>>
\>>
Greetings
peacecalc