在计算机中,比较时,数字计算是否像字符串一样处理?

时间:2013-10-27 04:17:08

标签: int compare calculator string-comparison

如果我有int myInt1 = 02int myInt2 = 2,一般情况下,它们会像字符串一样进行比较,以便myInt1 == myInt2返回false,或者计算机会比较您的情况。在纸上做数学并返回true

3 个答案:

答案 0 :(得分:0)

这完全取决于所讨论的计算机语言,并且(在前缀0'的具体情况下,如此处所示)关于n的具体值 - 至少是否n0n是相同的。

也就是说,对于绝大多数编程语言来说,数字与字符串的处理方式完全不同,如果有几种表达整数概念的方式,那么它们通常都是一样的。等同的。这并不是说22.0是相同的:在许多语言中它们都是完全不同的。

答案 1 :(得分:0)

这取决于如何定义语言的语法和语义。

您尚未指定所谈论的语言,但在大多数现代语言中,数值用于比较。因此,您通常希望在您的示例中获得true

答案 2 :(得分:0)

正如其他人所评论的那样,它完全取决于语境和语言。它还取决于数据类型(int, float, double,某些语言还有其他语言,如DecimalNSNumber等。

Objective-C中,如果您将两个NSNumber==进行比较,则通常会返回false,因为NSNumber是一个对象,在这种情况下,与==比较内存地址,因此它通常会返回false

但就int而言?在大多数情况下,即使您有一行代码int myNum = 002;,该语言也可能不关心前导零。前导零可能只是格式化输出的问题。例如,printf("%03d",myNum)printf("%d",myNum)