小编xid*_*dui的帖子

比较整数时C中的奇怪行为

在我的mac环境中遇到此问题,其中gcc版本如下所示:

Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)

代码段来自其中一个函数.

int someFunction(int x, int n) {
    int TMin_n = -(1 << (n-1));
    int TMax_n = (1 << (n-1)) - 1;
    int a = -2147483648;
    printf("%s\n", x == a ? "true" : "false");      // true
    printf("%s\n", x <= TMax_n ? "true" : "false"); // false
    printf("%s\n", a <= TMax_n ? "true" : "false"); // true
    printf("%d %d %d\n", TMin_n, x, TMax_n);        // -2147483648 -2147483648 2147483647 …
Run Code Online (Sandbox Code Playgroud)

c clang

3
推荐指数
1
解决办法
125
查看次数

Scala:如何检查对象是否是Array的实例

我想检查Scala中的obj是否是Array类型,而不是关心内部是什么类型的值.有一些简单的方法来做到这一点?

var x = Array(1,2,3)
x.isInstanceOf[Array[Any]] // which is false
Run Code Online (Sandbox Code Playgroud)

我希望它是真的.

更新:

我有一个功能:

def someFunction(obj: Any) {
    if (obj.isInstanceOf[Int]) {
        // do something
    }
    if (obj.isInstanceOf[String]) {
        // do something
    }
    if (obj.isInstanceOf[Array[Any]) {
        // for each of the obj inside the Array do something
    }
}
Run Code Online (Sandbox Code Playgroud)

scala

1
推荐指数
1
解决办法
2737
查看次数

标签 统计

c ×1

clang ×1

scala ×1