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

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



惭愧啊,很久不用 C 写程序了,而且现在的工作也跟电脑无关的。今天谢谢各位给我指出错误了。

认真看了一个 ming hua 的程序及其他几位的意见(因为太长,所以我都不引用了)
大致又有印象了。首先,的确 int 现在已经是 4 字节了。因此最多能有 2^32 方个数。


对于unsigned  int 来说,因为不带符号,所以最小数是 0,最大是 2^32-1

对于 signed int 来说,带符号,其中有一位要作符号位。所以
最大的正数是  2^31-1-1-1 ,2^31
方是2147483650,减1是因为有个0,要去掉一个数。再减1是因为假设10个数的话,应该是0-9(呵呵,学过 C
的都知道)。最后一个1是因为负数中有一个最小值它的定义是 -2^31-1。

举个例子,假设最多有10个数的话。
对于 unsigned int 来讲,是 0~9
对于 signed int 来讲,是 -5~+4

不知道 这样行不行了?呵呵,上次错得大了。以后不敢了 ;-)

With regards,
Nickel Cobalt

[...snip...]

Reply to: