TCPL 2-1

题目:确定signed和unsigned的范围

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>

int main()
{
    printf("signed char min = %d\n", SCHAR_MIN);
    printf("signed char max = %d\n", SCHAR_MAX);
    printf("***********************************\n");
    printf("signed short min = %d\n", SHRT_MIN);
    printf("signed short max = %d\n", SHRT_MAX);
    printf("***********************************\n");
    printf("signed int min = %d\n", INT_MIN);
    printf("signed int max = %d\n", INT_MAX);
    printf("***********************************\n");
    printf("unsigned int max = %u\n", UCHAR_MAX);     //%u 无符号十进制整数
    printf("unsigned int max = %u\n", USHRT_MAX);
    printf("unsigned int max = %u\n", UINT_MAX);      //显示与ULONG_MAX一样
    printf("unsigned int max = %u\n", ULONG_MAX);
    printf("\n***********************************\n\n");
    printf("signed char min = %d\n", -(char) (  ((unsigned char)~0 >> 1)) - 1);
    printf("signed char max = %d\n",  (char) (  ((unsigned char)~0 >> 1)    ) );
    printf("***********************************\n");
    printf("unsigned char max = %d\n", (unsigned char)~0);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_38035641/article/details/86234543
2-1