c语言中什么叫输出控制,“u%”是什么

错了,是%u... 错了,是%u 展开
 我来答
匿名用户
2011-07-05
展开全部
这个u%是按无符号输出,而你这个变量就是按照无符号输出,当然是65535.
你期待的结果又是什么呢

还是不理解基础,你这个x变量里面存的数据,变成二进制表示就是
1111111111111111,十六个一,不考虑符号位,你说这个数变成10进制是多少?

肯定是转成10进制了,如果你按照%d输出,那么刚才那个数最高位的1就变成符号位了,1代表负数,而负数是以补码存放的,把它还原成原码需要减1再取反,刚才你那个数就变成了这样,1000000000001,最高位那个1不算数字,代表负数,那么这样输出的结果就是-1,而%u是无符号输出,最高那一位不当作符号位。就没有上面这些转换过程了。
另外,团IDC网上有许多产品团购,便宜有口碑
lqwangjing
推荐于2017-11-24 · TA获得超过324个赞
知道答主
回答量:49
采纳率:0%
帮助的人:57.9万
展开全部
%u是无符号,就是将最高位的符号位也做为值的一部分输出。如果输出语句为
printf("%u“, -1);
将会显示出一个很大的数,因为-1标志位在最高位,
追问
将最高位的符号位也做为值的一部分输出是什么意思?
追答
有符号有31位来表示值,低32为用来表示符号,而无符号,用32而表示值,
所以无符号数最大值比有符号数绝对值最大值要打一倍。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
djcc1314
2011-07-02
知道答主
回答量:16
采纳率:0%
帮助的人:16.6万
展开全部
格式化输出的一种格式,%u是指不带符号的十六进制整数,例如 int i=21,若是%d输出,则输出21,若是%u,则输出0x15。
追问
%u一定输出十六进制的数吗,不是吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
悲欢离合等闲度
2011-07-02 · TA获得超过3357个赞
知道小有建树答主
回答量:944
采纳率:0%
帮助的人:883万
展开全部
应该是%u,u是unsigned(无符号)的第一个字母。输出格式控制 指输出的数据类型由百分号后面的字符所代表的数据类型决定 。比如%u指输出无符号数,其中无符号只无正负号,默认的是有符号数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanfustudio
2011-07-02 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3694万
展开全部
无符号整型 unsigned int
无符号长整型 unsigned long int 用 %ul
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式