C语言类型长度和取值范围

最大值和最小值表示

无符号 unsigned int max = (unsigned int )-1 //1111 1111 1111 1111

            unsigned int min = 0

有符号

        int max = 0x7fffffff // 0111 1111 1111 1111

        int min = 0x80000000 // 1000 0000 0000 0000

无符号

        unsigned char max = (unsigned char )-1 // 1111 1111

        unsigned char min = 0;

有符号

    char max = 0x7f; // 0111 1111

    char min = 0x80; // 1000 0000

整数溢出之后发生了什么事情

        (char)(-128*-1)= -128

        整数向上溢出 最小值

        整数向下溢出 最大值

一个字节为例子

    有符号[-128,127] 127+1=-128   -128+1=127

    无符号[0,255] 255+1=0 0-1=255


类型

小总结

sizeof是操作符,不是一个函数,是在编译决断确定的。

在16位系统中(int占2个字节),打印输出为:

    int i = 65536;

    printf(“%d\n”,i); // 0


    int i = 65535;

    printf(“%d\n”,i); // -1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容