Subject: Re: What's up with IEEE Scheme?
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 2000/10/26
Newsgroups: comp.lang.scheme
Message-ID: <8t8uqv$2uqjl$1@fido.engr.sgi.com>
[Sorry for taking so long to reply...]

Kalle Olavi Niemitalo <kon@iki.fi> wrote:
+---------------
| rpw3@rigden.engr.sgi.com (Rob Warnock) writes:
| > As a simple demonstration of this, try to find the "multiplicative
| > inverse" of 3 (modulo 2^n)... For n==8, 16, 32, and 64, at least...
| > and thus unsigned integer arithmetic in C isn't a field.
...
|                  171 * 3 ==                  513 == 1 (modulo 2^8)
|                43691 * 3 ==               131073 == 1 (modulo 2^16)
|           2863311531 * 3 ==           8589934593 == 1 (modulo 2^32)
| 12297829382473034411 * 3 == 36893488147419103233 == 1 (modulo 2^64)
+---------------

Yes, you're certainly right. I picked a bad example. 3 has an inverse.
But 2 doesn't. In fact (if I'm not jumping to conclusions again), *no*
even number has an inverse in the ring of integer multiplication mod 2^n,
so integer {+,*} mod 2^n *still* isn't a field.


-Rob

-----
Rob Warnock, 31-2-510		rpw3@sgi.com
Network Engineering		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
1600 Amphitheatre Pkwy.		PP-ASEL-IA
Mountain View, CA  94043