Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #25203

Re: Bijective basechanger

Newsgroups comp.lang.javascript
Date 2014-07-04 02:28 -0700
References (5 earlier) <fc06a57e-0cc1-45f3-a814-08cf43bc0960@googlegroups.com> <de2372d0-0c2a-4ef5-b1b4-547ff7a154a1@googlegroups.com> <ce1ff707-717d-43d6-b2b5-70fa7e8c560d@googlegroups.com> <841ac7ab-d05e-43ea-9b43-65c99ca623b9@googlegroups.com> <00c43bf0-1dcd-45f6-ab25-6662e770b0ce@googlegroups.com>
Message-ID <cc8f85ab-a8bd-4d1e-b179-bf63584d8023@googlegroups.com> (permalink)
Subject Re: Bijective basechanger
From jonas.thornvall@gmail.com

Show all headers | View raw


Den torsdagen den 3:e juli 2014 kl. 16:33:05 UTC+2 skrev Scott Sauyet:
> On Tuesday, July 1, 2014 5:39:05 AM UTC-4, jonas.t...@gmail.com wrote:
> 
> >skrev Scott Sauyet:
> 
> >> This might work better:
> 
> >> 
> 
> >>     var zeroless = function(str) {
> 
> >>         if (!str || str === "0") {return "";}
> 
> >>         var lastChar = str.slice(-1);
> 
> >>         var beginning = str.slice(0, -1);
> 
> >>         return lastChar === "0" ? 
> 
> >>                zeroless("" + (beginning - 1)) + "A" :
> 
> >>                zeroless(beginning) + lastChar;
> 
> >>     };           
> 
> >> 
> 
> >> It is certainly much cleaner and more elegant.
> 
> >> 
> 
> >> It would not be hard to extend to other bases.
> 
> > 
> 
> > It work good for base 10 but i get collisions using both your and my
> 
> > script using other bases.
> 
> > 
> 
> > http://web.comhem.se/jonasth/bijbase.html
> 
> > 
> 
> > Encoding 30 in base 3 should be 233=2(3^2)+2(3^1)+3(3^0) but 
> 
> > encode to 33=9.
> 
> > 
> 
> > Encoding 10 in base 2 should be 122=1(2^2)+2(2^1)+2(2^0) but 
> 
> > encode to 22=6.
> 
> 
> 
> Did you actually try to update this for other bases?  I hadn't done the
> 
> work here, leaving it as "an exercise for the reader".
> 
> 
> 
> Here is my approach:
> 
> 
> 
>     var zeroless = function(nbr, base) {
> 
>       if (!nbr || nbr === 0) {return "";}
> 
>       if (!base) {base = 10;}
> 
>       var str = "" + nbr.toString(base); 
> 
>       var lastChar = str.slice(-1); 
> 
>       var beginning = str.slice(0, -1); 
> 
>       return lastChar === "0" ? 
> 
>         zeroless(parseInt(beginning, base) - 1, base) + 
> 
>                (base).toString(base + 1).toUpperCase() : 
> 
>         zeroless(parseInt(beginning, base), base) + lastChar;
> 
>     };
> 
> 
> 
> I think it captures those cases as well.
> 
> 
> 
>   -- Scott

Are you by any chance the same person who sometime post/used to post at sci.crypt (Scott bijective)?

Back to comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Bijective basechanger jonas.thornvall@gmail.com - 2014-06-17 06:42 -0700
  Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-17 12:08 -0700
    Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-17 13:23 -0700
      Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-17 13:24 -0700
      Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-17 13:54 -0700
        Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-17 14:07 -0700
          Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-17 14:15 -0700
            Re: Bijective basechanger John Harris <niam@jghnorth.org.uk.invalid> - 2014-06-23 17:23 +0100
        Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-17 14:23 -0700
        Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-17 14:41 -0700
          Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-17 20:28 -0700
            Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-18 13:04 -0700
              Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-18 16:30 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-18 17:45 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-18 17:49 -0700
                Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-19 11:21 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-19 14:44 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-19 14:48 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-19 14:55 -0700
                Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-19 19:59 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-21 09:25 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-21 11:15 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-18 18:05 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-18 18:19 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-18 18:25 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-18 18:46 -0700
            Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-23 16:00 -0700
              Re: Bijective basechanger "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-06-23 17:51 -0700
  Re: Bijective basechanger John Harris <niam@jghnorth.org.uk.invalid> - 2014-06-23 17:18 +0100
    Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-23 11:27 -0700
  Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-06-23 15:29 -0700
    Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 03:26 -0700
      Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 03:28 -0700
      Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 04:24 -0700
        Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 05:36 -0700
        Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-06-24 13:05 -0700
          Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 14:13 -0700
            Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-25 05:36 -0700
            Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-06-25 12:45 -0700
              Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-06-25 13:15 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-01 02:39 -0700
                Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-07-03 07:33 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-03 09:54 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-04 02:14 -0700
                Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-07-05 12:12 -0700
                Re: Bijective basechanger "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-07-05 22:19 +0200
                Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-07-05 13:50 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-06 11:11 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-06 14:59 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-06 15:00 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-06 15:02 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-16 23:31 -0700
                Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-07-04 02:28 -0700
                Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-07-05 12:14 -0700
          Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-25 22:38 -0700
    Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 03:32 -0700
    Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 03:44 -0700
    Re: Bijective basechanger jonas.thornvall@gmail.com - 2014-06-24 11:10 -0700
      Re: Bijective basechanger Scott Sauyet <scott.sauyet@gmail.com> - 2014-06-24 11:45 -0700
  Re: Bijective basechanger "Chris M. Thomasson" <no@spam.invalid> - 2014-07-22 12:16 -0700

csiph-web