|
int本來不就是16位么? 在很久很久以前,C語言才出現(xiàn)的時候,計算機的字寬是16位,int于是也就是16位. 后來出現(xiàn)了32位機的時候,int才有32位寬.不過在8位和16位的CPU上,int還是16位.這是編譯器的問題,如果編譯器將int認為16位,那么在這個編譯環(huán)境中就是16位,如:Keil C和IAR中int都是16位,在IAR FOR STM8中用unsigned long int\unsigned int\unsigned long\long都不行,最多只能到16位了。此外IAR會把用完的局部變量優(yōu)化掉。最好定義為全局變量然后觀察,不然,有可能被優(yōu)化掉了,什么也看不到;int型通常就是16位。 |
|