c语言中 printf("%u\n", i*-1);里面的i*-1是什么意思

unsigned int i = 3;

printf("%u\n", i*-1);
i*-1怎么解释,为什么在32位机中输出的结果是4294967293
THX~~

i*-1的意思是i与-1的乘积,可以写为i*(-1)或(-1)*i。意思是取i的相反数。如i=3,则运算的结果为-3,i=-3,则运算的结果为3。

printf中%u表示将结果按无符号整数形式输出, '\n'表示回车

规定符说明:
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 把输出的值按照%e或者%f类型中输出长度较小的方式输出
%p 输出地址符
%lu 32位无符号整数
%llu 64位无符号整数
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-13
.....意思就是i*(-1)
i * -1 就是 -i

i = 3 二进制 就是 0000000000 0000000000 0000000000 11

-3的二进制就是 1111111111 1111111111 1111111111 01

用无符号数输出就是 4294967293本回答被提问者采纳
第2个回答  2015-06-02
就是 i 乘以 负一 的意思

c语言中 printf("%u\\n", i*-1);里面的i*-1是什么意思
i*-1的意思是i与-1的乘积,可以写为i*(-1)或(-1)*i。意思是取i的相反数。如i=3,则运算的结果为-3,i=-3,则运算的结果为3。printf中%u表示将结果按无符号整数形式输出, '\\n'表示回车 规定符说明:d 十进制有符号整数 u 十进制无符号整数 f 浮点数 s 字符串 c 单个字符 p 指针...

c语言中 printf("%u\\n", i*-1);里面的i*-1是什么意思
\/\/i * (-1)\/\/-1 是表示负数的意思 \/\/举个粟子:include int main(){ char i=-10;printf("%u\\n", i*(-1));\/\/输出为:10 return 0;}

c语言中 unsigned int i=3;printf("%u\\n",i*-1);
int,int类型会被隐式转化为unsigned类型,-1的位级表示是0xFFFFFFFF,于是这里两个unsinged类型的相乘。0xFFFFFFFF 0x3 = 0x2FFFFFFFD,由于是取其商,商为32位,因此对于乘得的结果进行阶段,留下32位,即0xFFFFFFFD,由于是%u,解释为unsigned类型,十进制显示为4294967293。

在看一篇文章中,遇到一个关于C语言unsigned关键字的问题。
所以你代码里面,当i--执行以后,如果i=-1,他的二进制表示是11111111,也就是255

C语言数组里面的【i-1】是什么意思怎么计算的顺序原理呢?
goods里面有十个元素 -般的写法是 for(i=0;i<10;i++)goods[i]这样i就是0到9 而你上面的程序是0到8 i小于10最大为9 9-1=8 i-1的值为i的当前值减1

c语言:C语言里1!是什么意思啊,
打个比方吧:2!就是2*1 5!就是5*4*3*2*1 20!就是20*19*18*17*...*2*1 明白了吧?不过0!=1,这是规定!

c语言中-i- -啥意思
-i--就是先进行i--运算,然后再取其负值。下面是C语言运算符的优先级:--与负号处于同一优先级,而结合方向是从右到左,所以是先进行i--运算,再取负号。i--就是把i自减1,但是它的返回值却是i,这就是i--与--i的区别,--i的返回值就是i-1了。具体看下面一个程序:include<stdio.h>...

c语言中,printf(“”)是什么意思?为什么括号里面什么都不加
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的的文字...

C语言计算中得出-1.#indoo是什么原因,有没有解决办法
printf("e=%f\\n",e[i]); for(i=0;i<=2;i++) printf("d=%f\\n",d[i]); system("pause"); }以上代码中:e[i]=c[i]\/(b[i]-a[i]*e[i-1]);\/\/第一次执行这语句时,就溢出了,分母为0这个时候就会引发-1.#indoo....

i--和--i分别代表什么?
i--就是i先参加其他运算,然后自身减1。--i就是i先自身减1,然后再参与其他运算。++ i先执行i +1,然后执行程序i ++先执行程序,然后执行i +1 int i = 8; printf(“%d \\ n”,++ i)首先执行加法,因此打印输出为9 printf(“%d \\ n”,-i)。首先执行减法,打印输出为8 printf...

相似回答