I suppose my main objection to multiplying the entire base by a sign is that it makes it more complicated to assess whether a number can be derived from your version of antibase, and thus can be compared directly with another via -: . Specifically, your version requires that a number either consist of all 0s and 1s or all 0s and _1s; mine just has that digits after the first are either 0 or 1. However, that test doesn't distinguish between, for example, _1 1 0 0 and _1 0 0, so you would additionally have to specify that if the first digit is negative, the second cannot have to be zero, and that's just as messy. There may be a way around that bit, though.
Marshall On Mon, Dec 12, 2011 at 7:42 PM, Dan Bron <j...@bron.us> wrote: > Marshall wrote: > > (negative MSB) version is mathematically more well-founded > > I am personally not qualified to assess the mathematical virtues of the > different formulations. And I see (more than) enough mathematical > horsepower on these Forums to be confident that a sensible conclusion will > be reached, irrespective of my (mostly uninformed) opinions. And I'll > certainly be comfortable with that conclusion, whatever shape it takes. > > Plus, your solution is already gaining support, as Henry said: > > > I like your leading-digit-negative idea better too. > > But I'm still a bit reluctant, and the reason is along the lines of > something Henry said earlier: > > > you can't tell how to interpret a bit-string without > > knowing whether it is signed or unsigned. You can't > > tell by looking at the bits. > > That is, sign is an extrinsic quality of a number. Put another way, an > integer has two qualities: sign and magnitude*. So, since the digits of a > number are reserved for expressing magnitude, I think sign should be > carried > out-of-band (not cleverly encoded in those bits). > > Now, in a sense, the negative-MSB approach does use out-of-band > information. > In particular, the "negativity" of the MSB is out-of-band information, that > couldn't be carried in a true digit. That said, it has two drawbacks: > > 1. It singles out the MSB as "special". If one argues > "Hey, the MSB _is_ special: did you see that 'M' in > there?", my counterargument would be "well, yes, > but that M-ness is already encoded in the bit's > position, which is the correct -and only- way to > do it". > > 2. It introduces a new order-of-magnitude, which wasn't > there before. That is, in order to address a value > on order r^N, we all of a sudden had to talk about > values on the order of r^N+1 . Feels like a > non-sequitor. > > Now, (1) is a fundamental aspect of the negative-MSB approach, but if > Henry's right when he says: > > > Rather than prepending a leading _1, you could just change > > the high-order 1 to _1 . > > then (2) is just an aspect of a particular formulation. And actually, the > critical issue (3) from my earlier message goes away too (i.e. the sign of > a > value is unrelated to the number of its digits). But either I > misunderstand > him, or I can't get it to work: > > #: 5 > 1 0 1 > #. _1 0 1 NB. negate MSB, but don't change length of vector > _3 > > But anyway, even if this, or something like it, worked, it would still > offend my formed-in-first-grade arithmetical sensibilities. It just > doesn't > seem right for a numeric notation to say "First, you start really low, then > you add values in bits and pieces, til you get closer (but never all the > way) to zero". > > -Dan > > * Or I guess you could say a real number has a quality and a quantity. > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm