C语言题目求详细解答 表达式~0x13的值是 A.0xFFEC B.0xFF71 C.0xFF68 D.0xFF17

最好顺便解答一下“~”按位取反运算符到底怎么用谢谢!... 最好顺便解答一下“~”按位取反运算符到底怎么用 谢谢! 展开
 我来答
fenghuaster
2011-12-07 · TA获得超过425个赞
知道小有建树答主
回答量:266
采纳率:0%
帮助的人:253万
展开全部
0x是16进制的数字
0x13换算成二进制数是:10011
把10011补齐是:0000 0000 0001 0011
然后按位取反是:1111 1111 1110 1100(呵呵,按位取反就是同一位上的0变1,1变0)
换算成16进制: F F E C
所以:选择 A
追问
那为什么10011前面要补那么多零?不能直接对10011取反?
追答
呵呵,因为计算机存储单元有位数。32位计算机,那么即使一个数是0x13,存在计算机中,不足位置是被补0着。所以对位取反,要补齐所有位。
松甜恬0Je4ba
2011-12-07 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:3370万
展开全部
~ 就是将 1变为0,0变为1
0x表示十六进制
0x13 也就是 0x0013
0 0 1 3 对应的二进制
0000 0000 0001 0011
全部取反
1111 1111 1110 1100
也就是
F F E C

答案是 a
追问
那为什么10011前面要补那么多零?不能直接对10011取反?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dwjchdu
2011-12-07 · TA获得超过5914个赞
知道大有可为答主
回答量:4576
采纳率:60%
帮助的人:1085万
展开全部
0x13=0000 0000 0001 0011B
~0x13=1111 1111 1110 1100B=0xFFEC
因此选A
按位取反运算符就是把每一个二进制位取反!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一米阳光鲍
2011-12-07 · 贡献了超过113个回答
知道答主
回答量:113
采纳率:0%
帮助的人:28.9万
展开全部
0x13=0000 0000 0001 0011;
取反后 1111 1111 1110 1100;
=0xec;
取反,0变1,1变0.用多了就会了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式