Advertisement

C语言整数溢出实例

阅读量:
复制代码
    #include <stdio.h>
     
    int main(int argc, char **argv)
    {
    unsigned short int a;
    signed short int b;
     
    a = 50000;
    b = 50000;
     
    printf("\n a = %d \t b = %d \n", a, b);
     
    return 0;
    }

运行结果如下:

复制代码
    a = 50000    b = -15536

就本例而言进行分析: 'short int' 类型,在计算机系统中通常采用两个字节(Byte)来存储数值;每个字节由八个比特(bit)构成(即1 Byte等于8 bit)。每一位均代表一个二进制数字0或1。因此, 'short int' 类型能够表示 的整数值, 其中以整数值零为中心对称分布于-32768至+32767之间, 因此其取值范围为-32768至+32767。相比之下,在声明了‘unsigned’的情况下,'unsigned short int' 类型的取值范围则扩展至从0至+65535之间。

由以上分析可知,在使用无符号16位整型数据类型时(即'data type unsigned short in

全部评论 (0)

还没有任何评论哟~