相关疑难解决方法(0)

带有负值的无符号长整数

请参阅下面的简单代码:

#include <iostream>
#include <stdlib.h>

using namespace std;


int main(void)
{
    unsigned long currentTrafficTypeValueDec;
    long input;
    input=63;
    currentTrafficTypeValueDec = (unsigned long) 1LL << input; 
    cout << currentTrafficTypeValueDec << endl;
    printf("%u \n", currentTrafficTypeValueDec);
    printf("%ld \n", currentTrafficTypeValueDec);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么printf()显示带负值的currentTrafficTypeValueDec(unsigned long)?

输出是:

9223372036854775808
0
-9223372036854775808 
Run Code Online (Sandbox Code Playgroud)

c++

5
推荐指数
4
解决办法
8114
查看次数

标签 统计

c++ ×1