C++ 中的“ !” 运算
在介绍“ !”运算之前,我们要知道一个变量n,如果n>0,那么我们可以在逻辑上叫它“真”,如果n<=0 ,那么我们可以在逻辑上叫它“假”。
n为真时,!n就为假(false),转换为整型值即为0;
n为假时,!n就是真(true),转换为整型值即为1;
看起来很简单,但是“ !” 运算有一个重要的用处,就是可以把任意的数转换成0或1,下面举一个例子:
int n = 7 ;// 初始值
!n 等于 0 ;
!!n 等于 1 ;
在举个例子:
int n = -1 ;// 初始值
!n 等于 1 ;
!!n 等于 0 ;
我们可以用这个特点,在不用if语句的情况下,进行开关判断。
C++ 中的“ !” 运算的更多相关文章
- js中位运算的运用
原文:js中位运算的运用 我们可能很少在编程中用位运算,如果没深入学习,可能也很难理解.平时的数值运算,其实是要先转换成二进制再进行运算的,而位运算就是直接进行二进制运算,所以位运算的执行效率肯定是更 ...
- numpy.array 中的运算
简单运算 现在有有个需求,给定一个数组,让数组中每一个数乘以2,怎么做呢 n = 10 L = [i for i in range(n)] L # [0, 1, 2, 3, 4, 5, 6, 7, 8 ...
- shell简单用法笔记(shell中数值运算)二
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...
- C语言中复数运算及调用blas,lapack中复数函数进行科学计算
C语言中常用的数据类型主要int, float ,double ,char 等,但在科学运算中复数扮演着重要角色.这里讲下C语言中的复数运算以及如何调用blas,lapack库中的复数函数来进行科学计 ...
- LeetCode解题中位运算的运用
位运算是我最近才开始重视的东西,因为在LeetCode上面刷题的时候发现很多题目使用位运算会快很多.位运算的使用包含着许多技巧(详细可以参考http://blog.csdn.net/zmazon/ar ...
- java中位运算
1byte(字节)=8bit(比特) 1 0 0 0 0 0 0 0 1 2进制的1的原码 反码 补码 0 0 0 0 0 0 0 0 2进制的0的原码 反码 补码 -1 1 0 0 0 0 ...
- java中 & ^ ~ 的运算
java运算符 与(&).非(~).或(|).异或(^) 最近看HashMap源码,遇到了这样一段代码: 1 static final int hash(Object key) { 2 i ...
- C++中位运算
简介 1 位逻辑运算符: & (位 “与”) and ----------------- 2个都为1 才是1-----------0^0 = 0 , 0^1 = 0, 1^0 = 0 ...
- C语言中的运算和运算符
一.运算符的优先级和结合性 1,优先级 运算符一览表中,运算符越靠上,优先级越高. 2,结合性 假如用O表示需要两个操作数的双目运算符,那么对于表达式aObOc: 左结合运算符会将表达式解释为 (a ...
- C++中指针运算
1,指针可以和数字运算,指针+-整数,如, int num[] = {1,2,3,4,5,6,7,8}; int *p = num; p++; p--; p = p + 3; p = p -3; 数字 ...
随机推荐
- SQL Server里一些未公开的扩展存储过程
SQL Server里一些未公开的扩展存储过程 [转帖] 博客天地 www.inbaidu.com SQL Server里一些未公开的扩展存储过程 扩展存储过程(xp)是直接运行在SQL Server ...
- c++中类长度解析
通常我们定义一个类,它所占的空间有多大呢? 首先我们看一下下面的这个类 class A{ public: void func1(void){ printf("11111heihei\n&qu ...
- 退出程序是跳过屏幕自检 比如 必输 EXIT-COMMAND
控制必须输入可以,但是我退出程序的时候还要求我输入个值才能退出,这太变态了,相信很多同志都在SAP程序中反感过这个问题. 标准程序咱就不说了,忍了,新开发的功能还是要解决这个问题. 办法很简单:MOD ...
- Lotus分析
一 Lotus的任务 Lotus是一个消息通知服务,topic和subscription是多对多的关系.后面我加了一个发送自定义邮件和自定义短信的功能. 产品里面有个监控报警和通知列表.监控报警里创建 ...
- Flex 自动获取焦点 监听全局键盘事件
在mxml里监听addedToStage事件 protected function application1_addedToStageHandler(event:Event):void { this. ...
- php throw new Excpetion()之后,程序还往下继续运行吗?
经过测试是不会往下执行的,直接catch抛出异常了.
- Oracle VM Virtual Box 4.3 小巧精悍的虚拟机软件
https://www.virtualbox.org/wiki/Downloads Download VirtualBox Here, you will find links to VirtualBo ...
- pomelo 初始化配置...
在创建app的时候会初始化master和server以及log配置.. /** * Initialize application configuration. */ module.exports.de ...
- careercup-中等难度 17.6
17.6 给定一个整数数组,编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的.注意:n越小越好,也就是说,找出符合条件的最短序列. 解法: 开始解题之前,让我们先确认一下 ...
- java_实现接口的枚举类
package ming; interface GenderDoc { void info(); } enum Gender implements GenderDoc { // public stat ...