0

在 C++ 中,short int、unsigned int、signed int 和 int 有什么区别?有哪些应用?什么时候使用 short int、unsigned int 等?

4

3 回答 3

4

看一看!你告诉我!

#include <iostream>
#include <cstdlib>
#include <limits>
using namespace std;

int main(){

    cout << "min_int = " << numeric_limits<int>::min() << endl;
    cout << "max_int = " << numeric_limits<int>::max() << endl;

    cout << "min_unsigned_int = " << numeric_limits<unsigned int>::min() << endl;
    cout << "max_unsigned_int = " << numeric_limits<unsigned int>::max() << endl;

    cout << "min_short = " << numeric_limits<short>::min() << endl;
    cout << "max_short = " << numeric_limits<short>::max() << endl;

    cout << "min_unsigned_short = " << numeric_limits<unsigned short>::min() << endl;
    cout << "max_unsigned_short = " << numeric_limits<unsigned short>::max() << endl;

    return EXIT_SUCCESS;
}
于 2012-04-25T03:43:49.330 回答
1

在大多数情况下,int 是您想要的,如果您要严格使用非负数 unsigned 是好的。但通常标准库函数会为错误返回负值。

Short 主要用于较大数据结构中的小值作为内存优化,或用于与网络或文件格式的接口。

于 2012-04-25T03:50:17.310 回答
1

如果你想创建一个只接受正数的函数,这可能是为了限制其他人向它传递负值或让你的函数不必检查传递的值的符号,你可以使用 unsigned int。当然,这并不能阻止任何人将负整数转换为无符号整数。这只会导致您的函数将其解释为一个巨大的数字(因为最高有效位将是 1 以表示先前的负数),但这是铸造该值的人的错。

于 2012-04-25T05:50:04.073 回答