Truncating to Integer & FractionHP35A/21A  Printable Version + HP Forums (https://archived.hpcalc.org/museumforum) + Forum: HP Museum Forums (https://archived.hpcalc.org/museumforum/forum1.html) + Forum: Old HP Forum Archives (https://archived.hpcalc.org/museumforum/forum2.html) + Thread: Truncating to Integer & FractionHP35A/21A (/thread215997.html) 
Truncating to Integer & FractionHP35A/21A  Matt Agajanian  03292012 Hello all. Fantastic job on the D.MS<>D.DDD conversion routines. I tried developing some algorithms last night. In comparison, yours were quite streamlined. Another pair of techniques I've been considering: How do I extract the fractional and integer parts of values. I tried using logs, adding/subtracting 1/2 to round the decimal portion out, etc. and a memory location with some arithmetic manipulation but my methods are pretty cumbersome.
Just as well, I've also been trying to create routines to truncate to n decimal places. My ideas were to add some power of 10 to the number and then subtract it down to the original number with the desired decimal. But, the internal rounding of the 35 would round my values up if the n+1th digit was >=5. Any thoughts? Edited: 29 Mar 2012, 7:12 p.m. after one or more responses were posted
Re: Truncating to Integer & FractionHP35A/21A  Luiz C. Vieira (Brazil)  03292012 HI. Some calculators have these 'functions' already implemented
INT, IP  returns the integer portion of a number (*) (*) The HP12C has INTGR, intended to make no confusion with INT, which refers to interest rate in financial calculators. I am curious: which calculator you are willing to implement? Or is it just a matter of developing the algorithm yourself? I am asking these questions because I sometimes challenge myself by writing routines and algorithms to compute some calculations already implemented. Lately I am trying to implement integer, binary multiplication in microcontrollers with the fewest steps possible. Cheers.
Luiz (Brazil) Edited: 29 Mar 2012, 1:34 p.m.
Re: Truncating to Integer & FractionHP35A/21A  Andrés C. Rodríguez (Argentina)  03292012 IMHO, for that machine class, manual truncation is the way.
Re: Truncating to Integer & FractionHP35A/21A  Gerson W. Barbosa  03292012 Ditto!
Re: Truncating to Integer & FractionHP35A/21A  Matt Agajanian  03292012 Hello there. As the message title indicates, I'm looking for an integer and fractional truncation routines for the 1972 HP35 and its successor the HP21. Edited: 29 Mar 2012, 7:11 p.m.
Re: Truncating to Integer & FractionHP35A/21A  Gerson W. Barbosa  03292012 Hello Luiz,
Quote:
On the Z80, I used to do the following. Not the fewest number of bytes, I fear: org $c000 Cheers, Gerson.
Re: Truncating to Integer & FractionHP35A/21A  Eric Smith  03292012 As you may have figured out, there are actually reasons why some people bought midrange or highend calculators, rather than the bottom of the line.
Re: Truncating to Integer & FractionHP35A/21A  Luiz C. Vieira (Brazil)  03292012 HI, Gerson.
Thank you, very interesting. org $c000I'll try to port it to the ATMEL structure, I think it is not going to be that hard. Thanks a lot!
Cheers.
Re: Truncating to Integer & FractionHP35A/21A  Luiz C. Vieira (Brazil)  03292012 HI. I failed to understand HP35A/21A as both the HP35 and HP21, I actually did not figure that out. In this case I second the other guys: I'd store the value in one available register (the HP21 has only one memory register out of the memory stack, IIRC) and key in the integer or factional part whenever needed. I'd guess that such resource in a nonprogrammable, ROMlimited calculator might not have been taken as essential, though. Cheers.
Luiz (Brazil)
Re: Truncating to Integer & FractionHP35A/21A  Gerson W. Barbosa  03292012 Hi Luiz,
It's based on Russian peasant multiplication. It looks like their peasants are more creative than ours. Remember this Cheers,
Gerson.
Re: Truncating to Integer & FractionHP35A/21A  Matt Agajanian  03312012 You've got a point there. But, even so, it was a challenging exercise in developing a unique algorithm.
Re: Truncating to Integer & FractionHP35A/21A  Matt Agajanian  03312012 You know, that Russian Peasant Multiplication trick is pretty cool! They say you learn something new everyday. Well, this is the coolest one yet!
