对类型转换后比较的一点疑惑,详细请参看帖子。
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int iData = -1;
unsigned int uiData = -1;
if (iData == uiData)
{
printf("==\n");
}
else
{
printf("Not run here\n");
}
long lData = -1;
unsigned long ulData = -1;
if (lData == ulData)
{
printf("==\n");
}
else
{
printf("Not run here\n");
}
long long llData = -1;
unsigned long long ullData = -1;
if (llData == ullData)
{
printf("==\n");
}
else
{
printf("Not run here\n");
}
///////////////////////////////////////////////////////////////////////////////////////////////
// 小于一个字长时
short sData = -1;
unsigned short usData = -1;
if (sData > usData)
{
printf("sData > usData\n");
}
else if (sData < usData)
{
printf("sData < usData\n");
}
else
{
printf("sData = usData\n");
}
char cData = -1;
unsigned char ucData = -1;
if (cData > ucData)
{
printf("cData > ucData\n");
}
else if (cData < ucData)
{
printf("cData < ucData\n");
}
else
{
printf("cData = ucData\n");
}
return 0;
}在VS.Net2005环境下,结果是3个等于两个小于,为何呢?因为比较时的类型转换,应该都是等于才对。
和编译器相关? 那么别的编译器会是怎样的呢?
...全文
相关推荐
C++的类型转换详细介绍
"C++的类型转换详解"C++是一种强类型的语言,它的类型转换机制相比C语言更为丰富和严谨。本篇文章将详细讲解C++中的四种类型转换:`static_cast`,`reinterpret_cast
java常用数据判空、比较和类型转换
在Java编程语言中,数据的判空、比较和类型转换是基本而重要的操作。它们是日常开发工作中经常遇到的编程需求,对于保证程序的健壮性和正确性至关重要。本文将详细探讨这些操作的相关知识。
struts2类型转换convertToString不被调用的疑惑
在博客中,作者可能详细分析了这些问题,并给出了具体的例子和解决步骤。通过阅读博客,你可以更深入地了解Struts2的类型转换机制,以及如何调试和解决“convertToString”未被调用的问题。
天涯帖子下载器 txt
使用说明.txt" 文件顾名思义,会包含有关如何使用这个下载器的详细步骤和注意事项。
C#.net中的类型转换详细介绍
在C#.NET编程中,类型转换是一项关键技能,它涉及到多种数据类型的互相转换,以便适应不同的程序需求。本文详细介绍了C#中常见的类型转换策略,包括装箱、拆箱和别名的概念。首先,关于装箱和拆箱,这是


