2

c ++中的有符号和普通短有什么区别?范围不一样吗?

4

3 回答 3

3

shortsigned默认的,所以没有区别。

于 2013-03-10T12:47:14.350 回答
3

名称signed short int、和是同义词signed short,在 C++ 中表示相同的类型。short intshort

于 2013-03-10T12:50:20.207 回答
0

默认情况下,整数在 C++ 中是有符号的,IMO 对signed关键字的存在提出了质疑。从技术上讲,它是多余的,也许它确实有助于一些清晰,但几乎没有人在生产中使用它。每个人都非常清楚整数默认是有符号的。老实说,我不记得上次signed在生产代码中看到是什么时候了。

至于浮点数和双精度数 - 它们根本不能无符号,它们总是有符号的。

在这方面,C++ 语法有点多余,至少 IMO 是这样。有许多不同的方式来表达同样的事情,例如signed short int,和signed short,你所说的仍然可能是平台甚至编译器相关的。short intshort

例如,像 Qt 这样的框架声明了它们自己的约定,这些约定更短且信息丰富,例如:

quint8、quint16、quint32、quint64 都是无符号整数,数字表示以位为单位的大小,逻辑相同:

qint8、qint16、qint32、qint64 是有符号整数,具有各自的位宽。

uint至少对我来说,比unsignedor更可取unsigned int,在同样的逻辑中,您也有ushort比. 更可取的逻辑unsigned short int。还有就是uchar要完成短硬一族。

于 2013-03-10T13:11:40.697 回答