为什么要指定在C中签名的整数?

时间:2017-02-16 02:00:44

标签: c syntax

在我的教科书中,它表示所有整数都被认为是默认签名,我在网上找到的大多数资料都说必须签署浮点数,那么使用的重点是什么? signed关键字?

3 个答案:

答案 0 :(得分:6)

在C中,您可以省略部分名称,因此您实际上可以使用signed 而不是 int,这可能看起来非常对称:

void f(signed a, unsigned b);

或者更详细地说:

unsigned int foo;
signed int bar;

如果您不在附近使用这两种类型,您可能更喜欢名称的简单形式:

int x;   // normal
auto y;  // quaint
signed auto graph;  // why not

答案 1 :(得分:2)

至少存在需要关键字unsigned的两种情况。

第一个是使用带有类型说明符char的关键字,因为它可以表现为signed charunsigned char。这是三种不同的类型:charsigned charunsigned char

第二个是使用带有位字段的关键字,因为类型说明符为int的位字段可以表现为signed intunsigned int

答案 2 :(得分:0)

signed这个词并没有得到如此多的使用。 unsigned会这样做,因为所有整数类型(char值得检查) 是自定义为签名。另外,unsigned floatunsigned doubleunsigned long double不存在。//signed float/double/long double are errors to.