short 是浮点类型吗?
Posted
技术标签:
【中文标题】short 是浮点类型吗?【英文标题】:Is short a floating point type? 【发布时间】:2018-10-22 21:30:55 【问题描述】:我一直认为在 C++ 中short
是整数类型。
然而,***在这篇文章中将其列在浮点类型下:
https://en.wikipedia.org/wiki/Machine_epsilon
我很困惑。
我很确定short
通常是一个整数,但由于 C++ 是一门巨大的语言,有很多陷阱……请问是否有合法的,即使在 C++ 中使用 short
的方式晦涩难懂作为浮点类型?
【问题讨论】:
short
不是浮点类型,从来都不是。
快速查看C++ documentation 可以为您提供您所寻求的答案。在该页面上,它的列出不正确。
short
不再出现在该***页面上。 Tadman 已修复它。
那个***页面到处都是一团糟。用于计算机器 epsilon 的 C 函数根据输入参数产生不同的值(而不仅仅是文本所暗示的符号不同),但随后文本断言特定的输出值而不说明应该传递的输入以查看它。
而且.. 这是不相信你在***上看到的一切的另一个原因:)
【参考方案1】:
不,short
不是浮点类型,它是整数类型。来自the docs
整数类型
int
- 基本整数类型。如果使用下面列出的任何修饰符,则可以省略关键字 int。如果不存在长度修饰符,则保证其宽度至少为 16 位。但是,在 32/64 位系统上,几乎完全可以保证其宽度至少为 32 位(见下文)。修饰符
修改整数类型。可以按任何顺序混合。每个组中只能有一个出现在类型名称中。
有符号性
signed
- 目标类型将有符号表示(如果省略,这是默认值)unsigned
- 目标类型将有无符号表示大小
short
- 目标类型将针对空间进行优化,宽度至少为 16 位。long
- 目标类型的宽度至少为32 位。long long
- 目标类型的宽度至少为 64 位。
【讨论】:
以上是关于short 是浮点类型吗?的主要内容,如果未能解决你的问题,请参考以下文章