呵呵,多谢指教了。我还是第一次知道有 two's complement 这种方式。 有关 2^31 的问题。是由于我的计算器的毛病,精度不够,是三十年前的老机器了。 后来我用电脑上的程序算了一下,的确是 2147483648。 On Mon, Nov 19, 2007 at 10:19:06AM -0600, Ming Hua wrote: > On Mon, Nov 19, 2007 at 05:04:47PM +0800, Nickel Cobalt wrote: > > > > 首先,的确 int 现在已经是 4 字节了。因此最多能有 2^32 方个数。 > > 这个和计算机架构有关。我的机器是 i386 的,所以 int 是 4 字节。 > > > 对于 signed int 来说,带符号,其中有一位要作符号位。所以 > > 最大的正数是 2^31-1-1-1 > > 不对。在采用 two's complement [1] 方式表示负整数的系统上 (我们现在用的计 > 算机都应该用的是这种方式),n-bit 的有符号整数的范围是 -2^(n-1) 到 > 2^(n-1)-1。 > > 1. http://en.wikipedia.org/wiki/Two%27s_complement > > > 2^31 方是2147483650 > > 2 的 31 次方是 2147483648... > > Ming > 2007.11.19
-- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

