操作符的细节(!~)

~相同点:都不会改名变量原来的值。
~的区别表示逻辑非,~表示二进制(补码)按位取反,取反
包含符号位
。另外~只能对整数进行操作,而!可以对浮点数进行操作。!对浮点数进行操作时,即对于非零的浮点数取逻辑非,用%d进行打印结果是0,用%f进行打印结果是0.000000(由int -> float的转变),这个结果在while循环中被认为是假,一段代码为证:
在这里插入图片描述
个人猜测:C语言真假的判断是根据内存中某一个块来定的,只要这个内存块中存储的全0,则为假;否则为真

另外要明确两点:

  • 在C语言中,0为假,非0为真。在VS2015中,默认的真为1,假为0,由以下代码可以看到对非1的真数两次取逻辑反后结果为1。
  • 计算机内存中存放的数字以二进制补码的形式存储
    在这里插入图片描述
    ❄一段有趣的代码❄
    在这里插入图片描述

Link操作符详解

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值