-2
標準整數在c99標準中採用的最小值並不是它在MSVC 2008中真正需要的值。例如,SCHAR_MIN在c99中爲-127,在msvc 2008.中爲-128。請您向我解釋..?標準整數最小值
標準整數在c99標準中採用的最小值並不是它在MSVC 2008中真正需要的值。例如,SCHAR_MIN在c99中爲-127,在msvc 2008.中爲-128。請您向我解釋..?標準整數最小值
表示佔1補碼的C99標準。 (請注意,在5.2.4.2列爲註釋// 2 -1)1的補值從-127到+127:
00000000 : +0
00000001 : +1
...
01111110 : +126
01111111 : +127
10000000 : -127
10000001 : -126
...
11111110 : -1
11111111 : -0
的MSVC2008是上市2的補(該值這是2 )。在2的補值去從-128到+127:
00000000 : 0
00000001 : +1
...
01111110 : +126
01111111 : +127
10000000 : -128
10000001 : -127
...
11111110 : -2
11111111 : -1
看看2的補碼。現有答案。
Dup的:http://stackoverflow.com/questions/8010040/why-is-schar-min-defined-as-127-in-c99 – ckhan 2013-02-16 05:32:04
你爲什麼擔心?如果你正在達到極限,那麼我建議你重新評估你的算法。極端是錯誤發生的地方,你會以燒焦的手指結束。 – 2013-02-16 05:36:21
你瞭解2的補碼和1的補碼之間的區別嗎? – Mike 2013-02-16 05:41:58