当前位置: 首页 > 知识库问答 >
问题:

将长类型转换为隐式浮动,而不是缩窄

国兴文
2023-03-14

在java中,隐式转换的层次结构是byte->short->int->long->float->doublelong可以容纳8字节的数据。那么为什么它被隐式地类型化为float,它只能容纳4个字节,而不是double,它可以容纳8个字节。为什么它不被认为是缩小呢?

哪些基元类型将隐式转换为char?

共有1个答案

杜俊逸
2023-03-14

这与使用了多少位数据无关。是关于能被代表的尺度。

来自JLS第5.1.2节(扩展基元转换):

加宽基元转换不会丢失有关数值总体大小的信息。

 类似资料:
  • 我有一个用盐散列加密密码的类。 但是,如果要向类传递null,则会出现以下错误: 当我使用类时,我得到错误:“不能隐式转换类型字符串到Byte[]”

  • 问题内容: 我正在做s和s的乘法和除法,但我忘记了隐式转换规则(问题中的单词似乎太含糊,以至于Google不能比在这里问得更快)。 如果我有两个s,但我想进行浮点除法,是否只需要强制转换一个或两个操作数?如何相乘-如果我将a 和an 相乘,答案是a 吗? 问题答案: 您不能将结果除以a ,反之亦然。 因此答案是: 如果我有两个s,但是我想做浮点除法…? 一个演员就足够了。 如果我将a 和an 相乘

  • 以下代码在C++11中编译成功: 它包括用于现代C++的JSON。一个工作示例在这个Wandbox中。 JSON变量被隐式转换为字符串。但是,如果我取消最后一行的注释,这是一个显式转换,它将无法编译。这里的编译结果。 除了这个json库的特殊细微差别之外,如何编写一个类,使隐式转换工作,而显式转换不工作? 是否有某种构造函数限定符允许这种行为?

  • 问题内容: 我有代表特定灰度图像的特定np.array`数据。我需要使用SimpleBlobDetector(),不幸的是,该SimpleBlobDetector()仅接受8位图像,因此我需要转换此图像,显然会有质量损失。 我已经尝试过: 但是 cv2.imshow 不能提供预期的图像,但是会产生奇怪的失真… 最后,我只需要将np.float64转换为np.uint8即可缩放所有值,并截断其余所有

  • 我想在现场放置六个物体(球)。我认为代码看起来可行,但我收到一个控制台消息。信息: “Assets/GameScripts/Instance.cs(26,40):错误CS0266:无法将typeUnityEngine.Vector3”。存在显式转换(是否缺少转换?) 使用UnityEngine;使用系统。收藏; 公共类实例:单行为{公共游戏对象球; }