zathras / jrpn

JRPN - A Calculator Simulator Inspired by the HP-16C "Computer Scientist" Calculator and the HP-15C Scientific Calculator
https://jrpn.jovial.com/
Other
65 stars 7 forks source link

Comma separator in 16C integer mode #19

Closed Robert-Di-Benedetto closed 1 year ago

Robert-Di-Benedetto commented 1 year ago

Not sure if this is intentional or I'm missing something but in integer mode I am getting a comma on the display. I know this is expected behavior in floating point mode but I don't think this should be happening in integer mode. My real hp16c does not show the comma.

zathras commented 1 year ago

Wait, really? So you're saying that on a real HP 16C, this would show up without the commas? Screen Shot 2022-11-04 at 7 27 59 PM That is, the display just says "55555555 d"? And this wouldn't have the comma either? Screen Shot 2022-11-04 at 7 28 18 PM It just says "34Fb5E3 h"?

I don't have a real 16C - I mostly based this off of WRPN. Maybe he added the commas as an enhancement?

If you confirm that that's really what a 16C does, I guess the right thing to do would be for me to make a setting to disable the extra commas. Personally, I think they're nice, so I think I'd make the default be "with commas," but having an option to make it like the original does make sense.

Sound reasonable?

Robert-Di-Benedetto commented 1 year ago

Correct. If you are in integer mode, there are no commas. The reason is in integer mode, it is meant to emulate the behavior of a processor which has no concept of comma separators. See attached pics for what it looks like on a real 16C. Floating point is actually not the main use case for the 16C. It's really all about the integer mode in either 1's compliment, 2's compliment or unsigned. If you have Windows, you can install this emulator that will show you the actual behavior of a real 16C along with its actual appearance. http://www.midiox.com/hp16c/index.htm

1 2

zathras commented 1 year ago

Huh. I wouldn't have guessed; commas make it more readable for human beings. OK, well, having a setting is a valid enhancement then! I might even make it default to HP's behavior. Then again, if I did that I'd probably get people complaining that the behavior changed!

Let me know if there's any urgency to this. If not, it might take me some time to get to. I'm about 80% finished making a 15C emulator in the same code base, and it's easiest to add stuff to the 16C app after I get the code base re-stabilized.

Robert-Di-Benedetto commented 1 year ago

No urgency. Take your time.

zathras commented 1 year ago

Published: 2.1.2