求32位機械上unsigned int的最年夜值及int的最年夜值的處理辦法。本站提示廣大學習愛好者:(求32位機械上unsigned int的最年夜值及int的最年夜值的處理辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是求32位機械上unsigned int的最年夜值及int的最年夜值的處理辦法正文
#include <stdio.h>
int main(int argc, char *argv[])
{
unsigned int max_int = 0-1;
printf("The max value of unsigned int on 32 machine: %u/n", max_int);
}
#include <stdio.h>
int main(int argc, char *argv[])
{
unsigned int max_int = 0-1;
printf("The max value of unsigned int on 32 machine: %u/n", max_int);
}
gcc編譯後:
int_sizeof1.c: 在函數‘main'中:
int_sizeof1.c:5: 正告:整數溢出
運轉後:
The max value of int on 32 machine: 4294967295
VC6.0和java編譯後,無毛病。
運轉後:
The max value of int on 32 machine: 4294967295
#include <stdio.h>
int main(int argc, char *argv[])
{
int max_int = (1<<31)-1;
printf("The max value of int on 32 machine: %d/n", max_int);
}
將其int寫成有符號型的法式以下:
#include <stdio.h>
int main(int argc, char *argv[])
{
int max_int = (1<<31)-1;
printf("The max value of int on 32 machine: %d/n", max_int);
}
gcc編譯後:
int_sizeof1.c: 在函數‘main'中:
int_sizeof1.c:5: 正告:整數溢出
運轉後:
The max value of int on 32 machine: 2147483647
VC6.0和java編譯後,無毛病。
運轉後:
The max value of int on 32 machine: 2147483647
由於int的最高位是符號位。