n != n, n == -n

简介:

以下内容来自VCK周星星-在此感谢,以下情况皆不考虑运算符重载

什么时候n != n?

float / double = NaN的时候,例子暂时还没找到

什么时候 n == –n

1. n = 0自不必说

2. 设n为一个整型变量,那么当n取到该整型的负值最小值时,n == -n便成立了。为了避免类型提升,对负值做了一次类型转换。

 
char ch = -128 ;
if (ch == (char)-ch)
{
    cout << "equal" << endl ;
}
 
short s = -32768;
if (s == (short)-s)
{
    cout << "equal" << endl ;
}
 
int i = -2147483648;
if (i == -i)
{
    cout << "equal" << endl ;
}
 

结果都输出equal


本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/archive/2010/07/14/1777072.html,如需转载请自行联系原作者

相关文章
|
1天前
|
JavaScript 前端开发 安全
== 和 ===什么区别呀?
== 和 ===什么区别呀?
|
4月前
! [ ] == ! [ ] 和 ! [ ] == [ ] 结果是什么? 为什么?
! [ ] == ! [ ] 和 ! [ ] == [ ] 结果是什么? 为什么?
16 0
|
8月前
|
JavaScript 前端开发
== 和 ===区别,分别在什么情况使用
== 和 ===区别,分别在什么情况使用
50 1
![] == ![],![] == [],结果是什么?为什么?
![] == ![],![] == [],结果是什么?为什么?
|
8月前
|
Java
==和equals()
==和equals()
49 0
|
8月前
|
前端开发
return false得使用
return false得使用
31 0
|
11月前
|
JavaScript
js 如何if( a== 1 && a == 2 && a==3)
js 如何if( a== 1 && a == 2 && a==3)
99 0
经典面试题a == 1 && a== 2 && a== 3
经典面试题a == 1 && a== 2 && a== 3
47 0
|
存储
什么时候 a == 1 && a == 2 && a == 3 为 true?
什么时候 a == 1 && a == 2 && a == 3 为 true?
102 0
什么时候 a == 1 && a == 2 && a == 3 为 true?