当前位置: 首页 > news >正文

c语言----取反用什么符号

目录

前言

一、逻辑取反

二、按位取反

三、应用场景


前言

       在C编程语言中,取反使用符号!表示逻辑取反,而使用~表示按位取反。

       其中,逻辑取反!是将表达式的真值(非0值)转换为假(0),假值转换为真(1)。比如,对于一个布尔变量boolValue,若其值为真(即非0),!boolValue的结果为0;若其值为假(即0),!boolValue的结果为1。这是C语言中基本的逻辑操作,广泛应用于条件判断等场景。

一、逻辑取反

       逻辑取反操作是编程中常见的逻辑操作之一,使用!符号执行。 它是单目操作符,仅需作用于一个操作数。逻辑取反在编写条件语句和循环语句时尤为重要,它帮助程序员精简代码,提高代码的可读性和效率。例如,if(!condition)语句相当于if(condition == 0),这种用法在检查某条件是否不满足时非常有用。  

二、按位取反

       按位取反操作利用~符号,它适用于整型变量,对变量的二进制表示中的每一位进行取反操作 按位取反是对数字的二进制表示进行操作,例如,对于8位的整数x,执行~x会将x的所有位进行取反。如果某位为1,则取反后变为0;如果某位为0,则取反后变为1。这种操作在底层编程和处理位掩码时非常实用。

三、应用场景

       逻辑取反和按位取反在C语言编程中有着广泛的应用。逻辑取反主要用于控制流语句中,改变条件判定的真伪。 比如,在处理用户输入或判断某条件是否未满足时。而按位取反则主要用于操作和处理二进制数据,特别是在位掩码、位字段或低级硬件操作中。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • qt笔记之纯qml项目详解
  • ant design pro 如何去保存颜色
  • Python 轻量级 Web 应用框架 Flask
  • 练习题 - 探索命名空间和作用域
  • 调试和优化大型深度学习模型 - 5 启动训练命令
  • 8.16-ansible的应用
  • 【区块链+金融服务】基于区块链的供应链金融系统 | FISCO BCOS应用案例
  • 主机ssh连接不上vmware的虚拟机
  • Java算法题——二分查找法
  • MemFire Cloud是否真的可以取代后端
  • 【QT】基于UDP/TCP/串口 的Ymodom通讯协议客户端
  • Token 设计
  • SpringBoot响应式编程(2)WebFlux入门
  • 文心快码(Baidu Comate)快速创建数据可视化图表
  • CSS的:host伪类:精确定位于Web组件的指南
  • ----------
  • 《Java8实战》-第四章读书笔记(引入流Stream)
  • angular2开源库收集
  • CSS实用技巧
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • js中的正则表达式入门
  • k8s 面向应用开发者的基础命令
  • TypeScript迭代器
  • webpack项目中使用grunt监听文件变动自动打包编译
  • Web设计流程优化:网页效果图设计新思路
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 大型网站性能监测、分析与优化常见问题QA
  • 记一次用 NodeJs 实现模拟登录的思路
  • 聊一聊前端的监控
  • 正则学习笔记
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 你对linux中grep命令知道多少?
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • #pragma pack(1)
  • #Z0458. 树的中心2
  • (12)目标检测_SSD基于pytorch搭建代码
  • (day6) 319. 灯泡开关
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (全注解开发)学习Spring-MVC的第三天
  • (四) 虚拟摄像头vivi体验
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)fock函数详解
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)人的集合论——移山之道
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .gitignore文件设置了忽略但不生效
  • .jks文件(JAVA KeyStore)
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET 指南:抽象化实现的基类
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉