c语言中 printf("%u\n", i*-1);里面的i*-1是什么意思
unsignedinti=3;printf("%u\n",i*-1);i*-1怎么解释,为什么在32位机中输出的结果是4294967293THX~~...
unsigned int i = 3;
printf("%u\n", i*-1);
i*-1怎么解释,为什么在32位机中输出的结果是4294967293
THX~~ 展开
printf("%u\n", i*-1);
i*-1怎么解释,为什么在32位机中输出的结果是4294967293
THX~~ 展开
3个回答
展开全部
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位无符号整数
printf中%u表示将结果按无符号整数形式输出, '\n'表示回车
规定符说明:
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%o 无符号以八进制表示的整数
%g 把输出的值按照%e或者%f类型中输出长度较小的方式输出
%p 输出地址符
%lu 32位无符号整数
%llu 64位无符号整数
展开全部
.....意思就是i*(-1)
i * -1 就是 -i
i = 3 二进制 就是 0000000000 0000000000 0000000000 11
-3的二进制就是 1111111111 1111111111 1111111111 01
用无符号数输出就是 4294967293
i * -1 就是 -i
i = 3 二进制 就是 0000000000 0000000000 0000000000 11
-3的二进制就是 1111111111 1111111111 1111111111 01
用无符号数输出就是 4294967293
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是 i 乘以 负一 的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询