3
$\begingroup$

I would like convert decimal octal numbers on sharp EL-531TH (or any other) caclulator but when I enable the octal or any other non-decimal function, the decimal key or dot key (marked with red) is disabled.

How to do that conversion with a decimal point on a Sharp calculator? When I want to convert, for example 35.685 (10) to (16) it ignores the decimal point and gives a non-accurate result.

So, more in detail: How to convert with decimal point on Sharp calculator from:

1) Hexadecimal to: (Example: 3B.254 from...)

  • hexadecimal to octal,
  • hexadecimal to decimal,
  • hexadecimal to binary.

2) Decimal to: (Example: 23.7956 from...)

  • decimal to hexadecimal,
  • decimal to octal,
  • decimal to binary.

3) Octal to: (Example: 30.6121 from...)

  • octal to hexadecimal,
  • octal to decimal,
  • octal to binary.

4) Binary to: (Example: 10011.011001 from...)

  • binary to hexadecimal,
  • binary to decimal,
  • binary to octal?

Thank you.

enter image description here

$\endgroup$
6
  • $\begingroup$ Have you consulted this (page 26ff) ? global.sharp/contents/calculator/support/guidebook/documents/… $\endgroup$
    – MPIchael
    Commented Nov 2, 2023 at 12:30
  • 1
    $\begingroup$ @MPIchael Unfortunately, I can't find what I'm looking for on the link you provided. $\endgroup$
    – Alezigl
    Commented Nov 2, 2023 at 14:56
  • 1
    $\begingroup$ @BrianBorchers 3B2 (16) is 964 (10) an 946:16=59.125. So the result would be 946.125? That is correct, but what about transforming for example 3F3.563 (16) to decimal? And then decimal to binary? Because if I type 946.125 (10) to convert to hexadecimal, it ignores the decimals. In this case it gives the result 3B2, which is not a accurate result. $\endgroup$
    – Alezigl
    Commented Nov 3, 2023 at 9:12
  • 1
    $\begingroup$ Sorry- it wasn't clear to me that the original hex number was 3B.254. Convert 3B254 from hex to decimal, then divide by 16 three times. $\endgroup$ Commented Nov 4, 2023 at 3:35
  • 1
    $\begingroup$ Thank you. That works. Bu what about converting 3B.254 (16) to octal? What algorithm would be in that case? $\endgroup$
    – Alezigl
    Commented Nov 4, 2023 at 8:31

1 Answer 1

3
+50
$\begingroup$

If the calculator supports converting integers to another base, you can always multiply your number with the base N times (with it's base) to obtain a integer, convert, then divide. Note: This assumes the calculator can at least divide in hex, octal and binary. Without this, converting from decimal is going to be tricky.

Thee different bases we'll need to conveniently convert between these 4 bases:

$$\begin{aligned} 10_{16} = 16_{10} &= 20_{8} = 10000_{2}\\ A_{16} = 10_{10} &= 12_{8} = 1010_{2}\\ 8_{16} = 8_{10} &= 10_{8} = 1000_{2}\\ 2_{16} = 2_{10} &= 2_{8} = 10_{2} \end{aligned} $$

You'll take your number, multiple it by it's base N times for N digits of precision, convert, then divide by the same number (in the new base)

Hexadecimal 3B.254

Starting with $3B.254_{16}$, we start by scaling it up by $10_{16}^3$ and we of course obtain $3B254_{16}$. We can then convert it to each base: $$ 3B254_{16} = 242260_{10} = 731124_8 = 111011001001010100_2 $$ and then divide by the same scaling factor we used earlier: $10_{16}^3 = 16_{10}^3 = 20_8^3 = 10000_2^3$

$$ \begin{aligned} 242260_{10} / 16_{10}^3 &= 59.1455078125_{10}\\ 731124_8 / 20_8^3 &= 73.1124_8\\ 111011001001010100_2 / 10000_2^3 &= 111011.0010010101_2 \end{aligned} $$

Since hex, octal and binary shares the prime factor 2 in their base making it easier to convert and we can take some shortcuts: $16^3 = 8^4 = 2^{12}$, 3 digits in base 16 is 4 digits in base 8 which is 12 digits in base 2.

To illustrate, I will complete your examples using this method.

Decimal 23.7956

Convert as integer: $$ 237956_{10} = 3A184_{16} = 720604_8 = 111010000110000100_2 $$

and dividing by $10_10^4$:

$$ \begin{aligned} 3A184_{16} / A_{16}^4 &= 17.cbac710cb295_{16}\\ 720604_8 / 12_8^4 &= 27.627261610313_8\\ 111010000110000100_2 / 1010_2^4 &= 10111.110010111_2 \end{aligned} $$

Octal 30.6121

Convert as integer: $$ 306121_8 = 101457_{10} = 18c51_{16} = 11000110001010001_2 $$

dividing by $10_8^4$: $$ \begin{aligned} 101457_{10} / 8_{10}^4 &= 24.769775390625_{10}\\ 18c51_{16} / 8_{16}^4 &= 18.c51_{16}\\ 11000110001010001_2 / 1000_2^4 &= 11000.11000101_2 \end{aligned} $$

Binary 10011.011001

Convert as integer $$ 10011011001_2 = 1241_{10} = 4d9_{16} = 2331_8 $$

and dividing by $10_2^6$ $$ \begin{aligned} 1241_{10} / 2_{10}^6 &= 19.3900625_{10}\\ 4d9_{16} / 2_{16}^6 &= 13.64_{16}\\ 2331_8 / 2_8^6 &= 23.31_8\\ \end{aligned} $$

(Disclaimer: Lots of numbers to copy here, I may have made some typos)

$\endgroup$
4
  • $\begingroup$ Thank you very much for the answer. What calculator did you use for these calculations? I tried on my (I have the model from the picture) for example converting 2.3 (8) to hexadecimal. So that would be 17 (16)/ 8 (16) an the answer would be 2.6 (16) but my calculator gives and answer 2. It ignores the decimal point and gives a non-accurate result. I am interested in buying a new caclulator that is why I am asking for that. $\endgroup$
    – Alezigl
    Commented Nov 5, 2023 at 11:31
  • $\begingroup$ @Alezigl I just used my computer, though i followed the procedure above and only converted them as integers: $2.3_8 = 23_8 / 10_8 = 13_{16} / 8_{16} = 2.6_{16}$. The entire point of my answer is how to do this with just integers. $\endgroup$ Commented Nov 5, 2023 at 11:44
  • $\begingroup$ So, the answer on the question: is it possible to to such convertions on handheld scientific calculator is no? $\endgroup$
    – Alezigl
    Commented Nov 6, 2023 at 17:14
  • $\begingroup$ If you can do division indifferent bases, yes, by following the algorithm laid out. If you stick to hex, octal, and binary and stick to 3:4:12 decimal digit ratio, then you can do the division in your head, since it's just division by "10": $10_{16}^3 = 10_{8}^4 = 10_{2}^12$. Again your example: $2.3_8 = 23000_8 / 10000_8 = 2600_{16} / 1000_{16} = 2.6_{16}$, using the calculator for the step $23000_8 = 2600_{16}$. If your calculator can't do division in other bases, converting from decimal to hex/oct/binary is not possible. $\endgroup$ Commented Nov 6, 2023 at 17:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.