C语言代码中看到ampampquot!!ampampquot,捏了把汗
作者:bug菌
来源:最后一个bug
版权归原作者所有,如有侵权,请联系删除。 !!操作
看到交流群里有朋友抛出一段C语言操作:
offset = len/ 64 + !!(len% 64 );
这两个连续的感叹号把有些人给整蒙圈了,还有些朋友调侃道: !!表示语气加重,事情非常紧急得尽快处理,可把我给整笑了。
其实都是常规操作吧,只是这样的写法在正常的编码过程中并不多见。
首先这两个!!并不是什么C语言新的关键字,而是!运算符的嵌套作用。
!在C语言中叫逻辑非运算符,是一种条件运算符。 语法形式 : !(条件)
其中的条件如果是false,则最终整个表达式为true;反之则为false,bug菌提醒一句:要与~进行区分,~是按位取反,很多初学者容易混淆。 语法形式 : !!(条件)
所以如上表达式就是两个!的嵌套形式。
当然如果你想在项目代码中变得无可替代,可以继续如下操作:
语法形式 : !!!......!!(条件)
前提是你自己能看懂。
那么回到!!,该操作所达到的效果便是条件逻辑与最终表达式的逻辑结果保持一致: !!(false) == false !!(非false) == true
而对于大部分编译器false对应的是0,而true对应的是1,所以很多同志拿着逻辑结果参与数值运算。 offset = len/64 + !!(len%64);
该表达式的用处也非常清楚了,当len不能被64整除,则: offset = len/64 + 1;
获得正确的数据分组个数,这代码应该是来源于存储或者通信中。
但bug君觉得,尽量还是不要操作:
逻辑和数值运算最好是分开,以增加代码的可读性和可移植性。 还有个用处
最早看到这种处理方式是在判断一个引脚的高底电平上: u8GPIOLevel = !!(GPIOA_Data & PIN_2);
!!在其中的作用跟之前是一样的,使得表达式的数据结果与条件中的逻辑保持一致,便可以直接获得结果。 客观请留步
如果阁下正好在学习C/C++,看文章比较无聊,不妨关注下关注下小编的视频教程,通俗易懂,深入浅出,一个视频只讲一个知识点。视频不深奥,不需要钻研,在公交、在地铁、在厕所都可以观看,随时随地涨姿势。
央视新闻直播了什么车,让撒贝宁王嘉宁金晨都想拥有?8月18日,百度与央视新闻联合举办AI这时代,星辰大海百度世界大会2021。大会首发环节,百度创始人董事长兼首席执行官李彦宏与主持人撒贝宁在央视直播间畅谈AI出行生活时,首次提出了
恒大到了关键时刻?接连遭遇追债,相关诉讼交一家法院集中管辖,对恒大来说意味着什么?其流动性压力缓解得如何?本文由无冕财经(wumiancaijing)原创发布作者陈欣苗编辑陈涧设计岚昇实习生罗婉儿风
NANK南卡S2跑步运动挂脖式蓝牙耳机体验延迟低游戏才可以玩的爽虽然市面上无线蓝牙耳机的品牌非常之多,但是对于运动爱好者来说,可选范围还是比较狭窄的。而我最近拿到了由金测评提供的南卡S2跑步运动挂脖式蓝牙耳机,可以算是让跑步爱好者和游戏大神在耳
realme真我GT大师探索版使用体验体验了几天,随手给真我GT大师探索版拍了组生活照,我使用的是雪山配色,不夸张的说,它绝对是realme手机史上最精致最均衡的一款手机。正面采用6。55英寸三星AMOLED曲面屏,准
P50让你秒变摄影达人?华为P系列长久以来始终保持对品质美学及影像的强烈追求和热情,每一款产品都代表着移动影像革新的最高峰,并被视为定义移动影像的经典之作。华为P50的发布也引起了数码界的重大关注。华为P
奈雪PRO重磅发布,饮领千亿规模新式茶饮市场估值过百亿的奈雪,又给我们带来了新惊喜。12月3日,由新式茶饮头部品牌奈雪的茶主办的第二届饮领者峰会在上海举行。峰会现场,奈雪的茶联合CBNData发布了2020新式茶饮白皮书(以
立足双循环注入新动能,而立苏宁频获新华社央视点赞从月初的进博会到刚刚过去的双十一,11月注定是世界见证中国消费巨大活力与潜力的月份。而在全球聚焦中国市场的强聚光灯下,不少中国企业被推向舞台中央。即便是以低调著称的苏宁,近来也频频
雪松拓展全球供应链,助力钢铁产业双循环全球钢铁市场正在走出新冠疫情冲击,逐步复苏。世界钢铁协会(Worldsteel)11月24日公布的最新数据显示,今年10月全球粗钢产量为1。62亿吨,为今年来的最高产量,同比增长7
老旧摄像头安装显示不了怎么办?来看这里相信大家家中会有老旧闲置的监控摄像头或者用二手的监控摄像头。在安装接线完成后发现显示屏上搜素不到监控摄像头,在检查线路接线水晶头制作都是正常,这时候会有很多人为难了,接线都没有问题
爱眼从显示器开始,华硕VZ249HE使用体验前言电脑显示器作为电脑组件的一部分,有些人不太看重,要是组装一台电脑,有些人会在屏幕上省钱,其实我刚买电脑的时候也没有也不太注意屏幕。记得14年的时候,笔记本电脑屏幕坏了,就拿去了
安防监控常用线缆类别和型号的区分众所周知,监控摄像头按传输信号分为模拟摄像头和网络摄像头。下面我们来详细讲解下这两种摄像头在安装过程中所用的线缆的类别和型号。模拟摄像头模拟摄像头只能通过同轴电缆来传输监控信号,另