c ++中的有符号和普通短有什么区别?范围不一样吗?
3 回答
short
是signed
默认的,所以没有区别。
名称signed short int
、和是同义词signed short
,在 C++ 中表示相同的类型。short int
short
默认情况下,整数在 C++ 中是有符号的,IMO 对signed
关键字的存在提出了质疑。从技术上讲,它是多余的,也许它确实有助于一些清晰,但几乎没有人在生产中使用它。每个人都非常清楚整数默认是有符号的。老实说,我不记得上次signed
在生产代码中看到是什么时候了。
至于浮点数和双精度数 - 它们根本不能无符号,它们总是有符号的。
在这方面,C++ 语法有点多余,至少 IMO 是这样。有许多不同的方式来表达同样的事情,例如signed short int
,和signed short
,你所说的仍然可能是平台甚至编译器相关的。short int
short
例如,像 Qt 这样的框架声明了它们自己的约定,这些约定更短且信息丰富,例如:
quint8、quint16、quint32、quint64 都是无符号整数,数字表示以位为单位的大小,逻辑相同:
qint8、qint16、qint32、qint64 是有符号整数,具有各自的位宽。
uint
至少对我来说,比unsigned
or更可取unsigned int
,在同样的逻辑中,您也有ushort
比. 更可取的逻辑unsigned short int
。还有就是uchar
要完成短硬一族。