char c=128;
printf(“c=%d\n”,c);
输出是:-128
分析:有符号字符型其范围为-128~127
c=128就会发生溢出 (二进制表示为1000 0000 )
第一位是1 表示符号位即是复数
负数存储是以补码形式存储的即 第一位符号位不变 其余位取反并加一
输出是以Int型输出 即 1000 0000 1000 0000 就是-128
输出是多少?并分析
最新推荐文章于 2024-03-08 18:14:21 发布
char c=128;
printf(“c=%d\n”,c);
输出是:-128
分析:有符号字符型其范围为-128~127
c=128就会发生溢出 (二进制表示为1000 0000 )
第一位是1 表示符号位即是复数
负数存储是以补码形式存储的即 第一位符号位不变 其余位取反并加一
输出是以Int型输出 即 1000 0000 1000 0000 就是-128