HP3000-L Archives

December 2000, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Dave Darnell <[log in to unmask]>
Reply To:
Dave Darnell <[log in to unmask]>
Date:
Mon, 4 Dec 2000 08:12:28 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (61 lines)
?? I'm getting non-powers of the base:

ASTRO/DARNELL/PUB(1):comeau 127,8
127 = 7+56+64
Written as 177 in base 8
ASTRO/DARNELL/PUB(1):calc 8*8*8
512, $200, %1000
ASTRO/DARNELL/PUB(1):calc 8*8
64, $40, %100
ASTRO/DARNELL/PUB(1):calc 8*7
56, $38, %70
ASTRO/DARNELL/PUB(1):

56 is not a power of 8

-dtd

> -----Original Message-----
> From: Bob Comeau [mailto:[log in to unmask]]
> Sent: Monday, December 04, 2000 8:04 AM
> To: [log in to unmask]
> Subject: Re: Math Help
>
>
> An expansion the simply elegant procedure easily displays the
> representation in the base chosen, up to 36:
>
> parm num=0, base=2, format=concise
>
> setvar power     1
> setvar result    ""
> setvar cur_val   !num
> setvar base_rep  ""
> setvar base_digits "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
>
> while cur_val > 0
>  setvar mod_val cur_val mod !base
>  if mod_val > 0
>   if len(result) > 0
>    setvar result result + "+"
>   endif
>   if UPS("!format")="DETAIL" and mod_val > 1
>    setvar result result + "(!mod_val*!power)"
>   else
>    setvar result result + "![mod_val * power]"
>   endif
>  endif
>  if !base < 37
>   setvar base_rep "![str(base_digits,mod_val+1,1)]"+base_rep
>  endif
>  setvar power power * !base
>  setvar cur_val cur_val / !base
> endwhile
> echo !num = !result
> if !base < 37
>  echo Written as !base_rep in base !base
> endif
>
> Bob Comeau
>

ATOM RSS1 RSS2