P1: dot
move right 1.618
P2: dot
move up 1
P3: dot
L1: line from P1 to P2
L2: line from P2 to P3
L3: line from P3 to P1
TRI: line from P1 to P2 to P3 close fill 0xeeffff behind P1
A: circle with .c at L1 "A" bold fit width 75% fill lightblue
O: circle with .c at L2 "O" bold same
H: circle with .c at L3 "H" bold same
SIN: line ← from H to O behind H chop "sine" small above aligned
COS: line ← from H to A behind A chop "cosine " small below rjust
TAN: line ← from A to O behind A chop "tangent" small below aligned
RT: box width 0.1 height 0.1 with .se at P2 fill white
dot at P2
ANG: arc from 0.1 between P1 and P2 to \
0.07 between P1 and P3
text "θ" small small at 0.07 right of ANG
→ /pikchrshowMotivations
The R47 has unparalleled trig support, inclining me to go off on a tangent, then triangulate toward a more acute degree of coordination.
(Ya know, I kinda lost track in all that excitement…was that five puns packed into a single sentence, or six? Well? Are ya feelin’ φ-licitous, punk?)
Okay, okay, enough silliness. Let us attempt a measure of rectitude here. This is trig we're talkin’ ’bout here, and everyone knows you cannot have fun with math, right? 🤓
Hard Button Use
If I had told you that a new calculator was coming out with over 100 menus, several of which are multi-page, you would be justified in guessing that the trig buttons are all behind one of those menus, as was done on the HP-28C/S, with its TRIG menu.
But no! The creators of the R47 chose to dedicate six of the hotly-contested shifted function locations on its faceplate to the primary trig functions, plus one more for 🟦 TRG to access further functionality.
One wonders what else we might have surfaced by freeing up six of these seven spots for further faceplate-level menus.
Speculations aside, it stands to reason that our benefactors felt this aspect of the calculator’s functionality was important enough to justify the space they gave it.
Angle Data Types
To properly understand the deep way the R47 handles angle values, consider the near-duplicated menu items on the first two rows of the 🟦 TRG menu. (Disregard ATAN2; it is shoehorned in here for an unrelated reason.) Why does the R47 have both the common DEG ⊙ setting and also a ⇒DEG function? The glib answer is “data types,” but to come to a proper understanding, we will have to do some digging.
Try this: enter 1 and then 🟧 ⇒DEG to get the value 1.° on the stack. It now includes the radix mark to indicate that this conversion changed our integer entry to a floating-point value, but more to our point here, it includes a degree sign to the right. We can demonstrate to ourselves that this is not merely cosmetic but instead a tagged attribute of the number by saying STO 00 then RCL 00 to produce a copy. We find that this also copies the degree mark. Hmm! If the R47 was instead storing the bare value 0.1, that mark would be lost on this round-trip.
Let us go further by feeding R00 into the four other 🟧-shifted functions on that menu.1 You should then see:
0.017 … r
1.111 … g
1° 0' 0.00"
0.005 555 … πr
Because these are distinct data types stored on a per-register basis, we can do things on the R47 that lesser machines cannot. The uncommon clarity we see in the display above is a solid example of this, but if you want to be truly impressed, press + four times, then 🟧 ⇒DEG. If you followed the instructions above exactly, you should get 5.°. Why? Because you have added five different representations of 1° together, then forced the result back to degrees.
If you do not see this as a grand jeté with a beautiful landing, you aren’t following the dance steps properly.
Any scientific calculator worth the name will have at least degrees and radians. Grad might be left off to simplify the user interface,2 but fine then, let us put my lowly Casio fx-260SOLAR — called the fx-82 series elsewhere — to the simplest imaginable test of angle unit arithmetic:
AC Min ; clear memory
Mode 4 ; set DEG mode
1 °'" M+ ; put 1° into the machine’s sole memory
AC MR ; verify that it remembers that the value is in degrees
Shift Mode 5 ; convert value to radians and enter RAD mode
M+ MR ; WRONG!
That verification step in the middle produces 1°0°0 in the fx-260’s crude 7-segment lettering, the closest it can come to indicating one degree, zero minutes, zero seconds. Already the R47 is ahead on aesthetic points, but the important bit is the result, demonstrating that although the machine knew the units at each step, it still produced the erroneous value 1.017… which is wrong in both degrees and radians. What we want is any of…
`2° = 2/180π = π/90 = 0.0349 rad`
Failing at this level is akin to attempting a schoolchild’s single jeté and ending up face-down on the ballet mat.3
Here's the true shocker: the same occurs on much newer machines like my shiny new (2025) Casio fx-115ES Second Edition, a fair competitor to the well-regarded fx-991EX Classwiz from 2015, which also face-planted.
Decimal Degrees
The R47 defaults to the decimal degrees mode for angles, as opposed to sexagesimal degrees.
If you key in a number and hit the DRG button, that value will be converted from an int or a real — depending on whether it included a decimal radix — to an angle in degrees as long as the ADM is in this default state. If you have changed the ADM, then pressing that button a number of times will bring it around into degrees:
| Presses | Starting Mode |
|---|---|
| 1 | degrees (DEG) |
| 2 | sexagesimal (D.MS) |
| 2 | grads (GRAD) |
| 3 | radians (RAD) |
| 4 | multiples-of-pi (MULπ) |
Degrees are exceedingly useful because they divide a circle into even, fine divisions using a number that has an uncommonly high count of factors:
{ 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, 18, 20, 24, 30, 36, 40, 45, 60, 72, 90, 120, 180 }
This much is well-known, but less often appreciated is that it allows an expression like tan(180°) to have a precise meaning: it is always exactly zero, without any fussing about. This fact will be easier to appreciate in the breach, which brings us to…
Radians
The second-most common angle unit is radians, of which there are 2π in a circle. This unit has a number of nice properties, but they all boil down to this: factors of π fall directly out of the mathematics behind trigonometry. The only serious controversy here is whether we should be using τ instead.
(You will be gratified to know that the R47 does define this as 🟦 CNST τ.)
Alas, π — or τ if you prefer — exists only in the ideal world of pure mathematics. The R47 must deal in approximations of real values, which bites especially hard when the value in question is irrational, as with π and τ. Definitionally, tan(π) = tan(180°), but because you cannot express π except in the abstract, a calculator needs a strong CAS to avoid dropping back to an approximation. As soon as you reduce π to a real-numbered value, there is an error term, which is why putting the CAS-less R47 into radians mode causes it to claim:
`tan(π)=1.158028306006248941790250554076922×10^(-34)`
This it is not an error or a bug in the R47. It could only be exactly zero if the argument to the tangent function was exactly π, which as we have said, is not the case and cannot be the case until/unless the R47 gets a CAS feature. Any CAS-less calculator that claims the answer here is zero is engaging in some type of sleight-of-hand, calling into question how trustworthy it is. These games are doubtless well-meaning, but we have to ask whether we want an approximation of the answer to the question we asked or the actual answer.
The R47 lets us have it both ways:
🟧 DISP ⬆︎
🟦 HIDE 12
This mode causes the R47 to apply display rounding earlier than it otherwise would, in this case at the 12-digit mark. This is not the same thing as SIG 12, which would show the ugly near-zero value above to 13 significant digits. Instead, it “hides” some number of digits to force display rounding to come into effect, which for a value like this means it shows — quite literally — ≈0 to indicate that it is showing an approximation and not the true calculated value. The sleight-of-hand has become explicit.
(Below, we will see a similar case by exploiting the R47’s irrational fraction display mode.)
Yet here is a better solution to this dilemma, in my humble opinion…
Multiples of π
This ADM is uncommon in other calculators, which is odd because it is the way trig is treated in all secondary school math textbooks. It is simply radians with the π factored out, so that the problem above becomes:
🟦 TRG MULπ⦿
1 🟧 TAN
The R47 gives exactly and precisely zero because the user effectively factored the irrational π out of the argument to the function. In effect, we have used human intellect in place of a CAS because every R47 must be paired with one of those for the machine to be useful.
Consider another example: the arctangent of 1 is 0.785 radians, a nearly opaque value, but when we express it instead as 0.25πr, it becomes far easier to think about for anyone already willing to accept that radians make sense.
That answer becomes even more recognizable when expressed as `π/4` radians.
What would be really cool is if this mode played nice with 🟧 DISP 🟧 FRACT mode and showed the value in type-annotated textbook form, but alas, it does not. What does work is this:
As you can see by the type tag, the Y value in this example was produced with ADM set to MULπ, but X is in radians. The key setting here is that we have IRFRAC enabled — thus FRACT disabled — which gives the R47 the freedom to factor out the π in the same manner as MULπ while in regular radians mode. This gives us a fair approximation to the textbook display above.
This mode is about more than education; it also has practical engineering applications. To see the problem this mode solves, consider this expression:
🟦 TRG RAD⦿
🟧 π EEX 30 ×
🟧 SIN
What the calculator must do first is unwind those 0.5×1030 rotations around the circle before taking the sine, giving us the highly misleading result 1.158…×10⁻⁴. While this approaches zero, it might mislead the R47’s user into believing there is daylight between the calculated result and the trigonometric identity.
If we leave off the multiplier…
🟧 π 🟧 SIN
…it gives -1.158…×10-34, much closer to the ideal 0 our trig classes led us to expect. What went wrong?
The problem is that the “unwinding” process I hinted at is inherently inaccurate, being based on an irrational number, π. Even as the R47 is one of the most accurate handheld calculating machines on the planet, it is not a CAS and therefore cannot manipulate π symbolically. When you try to multiply that up by orders of magnitude and then divide, the error is magnified accordingly. This is why those two results are off by the same factor of 1030 we multiplied against in the first example.
The R47’s multiples-of-π data type and associated ADM solves this by making you, the user, factor the two components of the angle:
🟦 TRG MULπ⦿
EEX 30 🟧 SIN
We get the correct answer — zero — because it can disregard the multiplier in this case. It sees that we are asking it what sin(π) is, for which it has a baked-in rule. This is why 🟧 SHOW tells us it isn’t even rounded from an approximation of zero. It is exactly and precisely naught…nil…donut…zilch!
Sexagesimal Degrees
Known more verbosely as the degrees-minutes-seconds mode or as D.MS in on-calculator abbreviations, this works much like time values while being strictly distinct from them on the R47. Contrast old HP machines, which conflate the concepts due to a lack of proper data typing.
The R47 is hardly unique in offering this mode,4 but it does take it to a level few others do. It is because it treats these sexagesimal degree values as distinct from the more usual decimal degrees that you can do things like this:
🟦 TRG D.MS
1 DRG
ENTER
0.5 ×
+
The first line tells the calculator to produce sexagesimal results by default.5 Setting it saves us from making multiple calls to the one-shot 🟧 ⇒D.MS function above the unshifted D.MS ADM-setting button to force the conversion at each step.
The second line exploits a somewhat hidden feature of DRG: when X contains something other than an angle, the first press converts it to the selected ADM. If that ADM is outside the common DEG-RAD-GRAD sequence, it takes four presses to get through the first cycle, not three. Otherwise, the first press jumps you into the middle of the cycle per your ADM selection. (More above)
Thus, the second line produces 1°00' 00.0” in X, and pressing DRG a second time would convert this to decimal degrees. To get the value back into sexagesimal form, we would have to either reenter “1” with the ADM still set to D.MS per that first line in the sequence above, or call the one-shot 🟧 ⇒D.MS function on it to force the conversion. Setting the ADM saves keystrokes in the common case where you want results to be in a particular format regardless of the input data types. The R47 converts as necessary.
We don't need to hit DRG after the ENTER on the third line above because stack item duplication also copies the D.MS data type tag. Halving that second copy produces a D.MS typed value for the same reason: multiplying an angle by a real number produces an angle, and because we have not changed the ADM, the resulting X value is shown in D.MS format.
The closest I can get to matching the above sequence’s result of 1°30' 0.00" on my HP 35s is:
1 ENTER ENTER
0.5 ×
+
→HMS
Prior to the last step, it will be showing 1.5000e0 in its default FIX 4 mode, which is only correct if you wanted decimal degrees and not d.mmss format sexagesimal. It is not until the final step that we get the desired output format, and then only so long as we are willing to tolerate 1.3000e0 as an acceptable way of reporting “one degree and thirty minutes of angle.”
Yet let us be charitable and hand-wave this display detail away. We will also choose to ignore the fact that the 35s lacks a proper time type, resulting in a conflation between its HH.MMSS and DD.MMSS notations, both being mere display conventions for regular numbers. Unlike the R47, the 35s will blithely allow you to add degrees to hours, but where we really see the model break down is attempting to add 31 minutes to the result by saying .31 ENTER +. It now reports 1 degree, 61 minutes, demonstrating that the HP 35s does not truly understand sexagesimal degrees despite being a fairly late-model device.
Compare the R47’s smooth handling of this same test:
1 DRG
ENTER 0.5 ×
0.31 DRG
+ +
It correctly reports 2° 1' 0.00" because the machine is still in D.MS mode from above, which is why we need to press the DRG mode button only twice, and we do not need to make any explicit ⇒D.MS calls.
All this having been said, the R47 will also accept HP-style BCD-coded sexagesimal degrees as input, but then immediately apply proper data typing. We can reinput our result above so:
2.01 🟦 .ms 🟦 .ms
This works because the first press tries interpreting the numeric input as 2:01:00 hours, and the second reinterprets it as the angle 2° 1' 0.00". A third press cycles back to hours.
Beware that the same NIM surprise we observed above also occurs here: starting with a closed value in X causes the first call to .ms to assume fractional hours, not HP-style BCD time format, thus gives you two-and-one-hundredth of an hour = 2:00:36! A second press therefore gives you 2° 0' 36.00", which may or may not be what you wanted.
Gradians
The R47 also supports the gradian unit. Although it has its advantages, it has only caught on in specialized applications. Prime among these for use with a calculator is surveying, but if that is your application, you are more likely to be using something like an HP 35s or 41CX with a surveying program pack installed.
A Peek Into the Mind Behind
I think it is fair to presume that the primary audience for this site has already recognized the diagram at the top of this page as a SOH-CAH-TOA triangle and thus needs no tutelage in what the six basic trig functions do. Let us instead examine the remainder of the R47’s TRG menu:
→R, →P: Convert a complex number to rectangular coordinates on the Cartesian plane or to polar coodinates, respectively.
.ms⁻¹: Converts a sexagesimal degree value to the legacy HP
dd.mmssformat:1°22'33.44"→1.223344. Given such a value in X, hitting⇒D.MSwill reverse that conversion.sinc[π]: The cardinal sine function and its close relative the normalized sinc function have applications in signal processing.
ATAN2: The 2-argument arctangent function is a specialization of the standard
ATANfound on the R47’s faceplate for handling more complex (hah!) cases by removing a source of ambiguity. WhereasATANtakes the ratio of two sides of a right triangle and gives the angle formed between one of those sides and the hypotenuse,ATAN2takes the lengths of the two sides directly so that it is not confused by the fact that`a/b = (-a)/(-b)`
Being able to see the sign of both arguments allows it to return the angle in the proper quadrant.
This is not a random assortment to fill out the space left over by all that ADM stuff covered above. Everything listed has prominent uses in electrical engineering, and it is no coincidence that the R47 project leader is an EE. Thus why relatively rare functions like sinc() and atan2() get pride of place in the first row of this menu. Had he become a civil engineer, we might have the hyperbolic trig functions in these spots instead.
Speaking of, you will have to dig those functions out of the catalog if you want them. As of this writing, the R47 does not implement the inverse hyperbolic cosecant — not yet, anyway! — but it does implement sinh, cosh, tanh, arsinh, arcosh, and artanh. Do be aware that unlike on the WP34s or the HP calculators that inspired it, these are distinct functions, not called by prefixing the regular trig ones with a HYP modifier keypress.
(You may now wish to return to my R47 article index.)
License
This work is © 2025-2026 by Warren Young and is licensed under CC BY-NC-SA 4.0
- ^
We're ignoring
.ms⁻¹because it is not part of this series of⇒functions. - ^ Certainly not to save firmware space in today's world of mega-bytes for milli-bucks!
- ^ …except that in this analogy, it won’t be the wannabe dancer crying for want of sympathy, but the audience crying for want of proper angle support. 😭
- ^ Even my lowly Casio fx-260SOLAR can do this properly, if not as prettily. This basic school calculator can do what classic “professional grade” machines from HP cannot, even at multiple times the price. What once was fancy is now table stakes.
- ^
Prior to release 00.109.03.00b0 this had to be chased down via the operations catalog, but it is now a fully-fledged peer to the common degree modes
DEG,RAD, andGRAD.