输出值为-1。原因:1、在C语言中整型常量的数据类型默认为int,所以unsigned int a = -1中,-1的类型是int类型。实际上是有一个隐式转换,即将int类型转成unsigned int类型。 这个转换的意义不大,因为没有超出unsigned类型的表示范围,所以a的机器码依然是-1的机器码。2、printf输出函数的控制字符...
变量 a 的类型是unsigned int,大小为 32 位 把 1 按位取反就是 31 个 1 和 1 个 0,即1111...
1、在C语言中整型常量的数据类型默认为int,所以unsigned int a = -1中,-1的类型是int类型。实际上是有一个隐式转换,即将int类型转成unsigned int类型。 这个转换的意义不大,因为没有超出unsigned类型的表示范围,所以a的机器码依然是-1的机器码。2、printf输出函数的控制字符是%d,即输出有符号...
unsigned short int a=(int)-1 即-1默认为int即有符号整型,当前大多数计算机用32位二进制存贮int,...
1有以下程序: main( ) { unsigned int a; int b=-1; a=b; printf("%u",a); } 程序运行后的输出结果是( )。 A.-1B.65535C.32767D.-32768 2有以下程序: main() unsigned int a; int b=-1; a=b; printf("%u",a); 程序运行后的输出结果是( )。 A) -1 B) 65535 C) 32767 D) ...
-1的类型是int类型。实际上是有一个隐式转换,即将int类型转成unsigned int类型。 这个转换的意义不大,因为没有超出unsigned类型的表示范围,所以a的机器码依然是-1的机器码。2、printf输出函数的控制字符是%d,即输出有符号数,所以结果是-1,如果要输出无符号数,请使用:printf("%u\n", a);
第一个问题:unsigned int a = -1;由上表第二行可知,-1 不在 a 可表示的范围内,就是说 -1 ...
-1的类型是int类型。实际上是有一个隐式转换,即将int类型转成unsigned int类型。 这个转换的意义不大,因为没有超出unsigned类型的表示范围,所以a的机器码依然是-1的机器码。2、printf输出函数的控制字符是%d,即输出有符号数,所以结果是-1,如果要输出无符号数,请使用:printf("%u\n", a);
unsignedinta = -1;intb =a; printf("%d %d",a,b);return0; }//结果 -1 -1 a在内存中值为0xFFFFFFFF,b的值为0xFFFFFFFF,都已经32位, a转换为int型的时候就是0xFFFFFFFF,所以输出-1. 规则整理 (1)如果转换前后位数相同,那么其实位本身并没有发生变化,变化的只是对位的解释(符号位)如unsigned int...
int和signed int是一个意思,就想数学里面的+1和直接写1是一个意思。整型的最高位二进制表示符号,也...