[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel panic错误,有人碰到吗?



呵呵,多谢指教了。我还是第一次知道有 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



Reply to: