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 是浮点类型吗?的主要内容,如果未能解决你的问题,请参考以下文章

004 String 是最基本的数据类型吗?

Java中的基本数据类型和包装类型的这些知识,你都知道吗?

基本类型与封装类

JAVA的基本数据类型和引用数据类型的区别

java基础之基本数据类型

基本类型包装类System类