数据类型取值范围的问题,大佬们这是哪里的原因呢
#include <stdio.h>int main()
{
char i = -1;
printf("%u\n", i)
return 0;
}
打印出来结果是 4294967295
我想定义变量i为字符型,值为-1,在内存中应该是占一个字节,二进制形式为1111 1111,为何打印结果不是255呢?、
确是占用了4个字节的4294967295呢?哪里不对呢 本帖最后由 肖-肖 于 2021-5-26 20:19 编辑
%u是表示按unsigned int格式输出数据。
肖-肖 发表于 2021-5-26 20:10
%u是表示按unsigned int格式输出数据。
嗯 就是想让他输出为无符号整数 为啥不是打印出255呢 sms182006 发表于 2021-5-26 20:55
嗯 就是想让他输出为无符号整数 为啥不是打印出255呢
255是哪年的cpu了, #include <stdio.h>
int main()
{
char i = -1;
printf("%hhu\n", i);
return 0;
}
人造人 发表于 2021-5-26 21:32
明白了
页:
[1]