(12C) Fractional Part Function - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (/forum-10.html) +--- Forum: General Software Library (/forum-13.html) +--- Thread: (12C) Fractional Part Function (/thread-14302.html) (12C) Fractional Part Function - Gamo - 01-03-2020 05:34 AM The HP-55 doesn't have FRAC and INT funtions and I'm happen to see some program example from HP-55 User's Manual that program the fractional part routine in program. Try this Fractional Part routine and it work as expected on HP-12C Since this type of problem still exist on some programmble calculator that doesn't have these funtion, couple friend of my have ask me about this type of problem before and I didn' t know any good solution yet, until now. This FRAC functions routine only work on "Positive Integer" Example: FIX 9 2 [√X] display 1.414213562 [R/S] display 0.414213562 -------------------------------- 355 [ENTER] 113 [÷] display 3.141592920 [R/S] display 0.141592920 Program: FRAC function Quote:01 ENTER 02 ENTER 03 EEX 04 9 05 + 06 LSTx 07 - 08 1 09 - 10 - 11 1 12 X≤Y 13 GTO 16 14 Rv // Roll Down 15 GTO 00 16 - Remark: Program line 03 to 07 by itself canbe use as INT function. Gamo 1/3/2020 RE: (12C) Fractional Part Function - Joe Horn - 01-03-2020 06:15 AM Doesn't the 12C have a FRAC function built in? RE: (12C) Fractional Part Function - Gamo - 01-03-2020 06:26 AM Joe Horn The HP-12C got these functions. Just demonstrate this routine on 12C as an example, so that people who got other HP programmable calculator that doesn't have this function can adapt to it. Also HP-55 manual use this algorithm so it must be good to share for those who interested. Gamo RE: (12C) Fractional Part Function - Joe Horn - 01-03-2020 02:13 PM Aha, I understand now. Thanks, Gamo! RE: (12C) Fractional Part Function - Albert Chan - 01-03-2020 06:53 PM (01-03-2020 05:34 AM)Gamo Wrote:  Remark: Program line 03 to 07 by itself canbe use as INT function. I think it is more like ROUND function. We may go for FLOOR instead, remove the branching code. Quote:01 ENTER 02 ENTER 03 . 04 5 05 - 06 2 07 EEX 08 9 09 + 10 LSTx 11 - 12 - For -1E9 < v ≤ 8E9: above defined FRAC(v) as v - FLOOR(v) = v - (ROUND(v - 0.5 + 2E9) - 2E9) Example: 123.45 R/S ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿ ﻿→ 0.45 123.45 CHS R/S ﻿ ﻿ ﻿ ﻿ → 0.55