在C语言中~和!在取非时的区别

 我来答
床前明月儿
高能答主

2019-09-27 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171942

向TA提问 私信TA
展开全部

一、运算顺序不同

1、~:位运算符,是对x,y进行位运算,x,y取值如上,那么有x&y=0;

2、!:是逻辑运算符,用于从左到右求表达式的真值。

二、运算方式不同

1、~: 位运算的运算速度通常与加法运算相同。

2、!:逻辑运算符用于对包含关系运算符的表达式进行合并或取非。


三、运算过程不同

1、~:位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。

2、!:使用逻辑运算符的表达式,返回0表示”假”,返回1表示 ”“真” 。

参考资料来源:百度百科-位运算符

参考资料来源:百度百科-逻辑运算符

qwertiesy
推荐于2017-10-05 · TA获得超过134个赞
知道答主
回答量:88
采纳率:100%
帮助的人:46.6万
展开全部
!是逻辑符号,对一个数据进行!运算时,必须先把该数据强制转换为Bool型,即0或1,再进行运算。
而~是位运算,对任何数据都不需要强制转换,起作用是将数据在内存中的每一位(当然是二进制)取反。
两种运算的结果一般不相等。
追问
比如!5555和~5555出来的数是什么?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vbtraz
2011-09-22 · TA获得超过5532个赞
知道大有可为答主
回答量:4152
采纳率:0%
帮助的人:4432万
展开全部
~是按位的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式