为什么 Java 中没有字节或短文本?

2023-12-23

我可以通过在值后面附加一个 L 来创建一个字面量 long;为什么我不能以类似的方式创建文字短或字节?为什么我需要将 int 文字与强制转换一起使用?

如果答案是“因为 C 中没有短文字”,那么为什么 C 中没有短文字呢?

这实际上并没有以任何有意义的方式影响我的生活;写(短)0 而不是 0S 之类的东西很容易。但这种不一致让我很好奇;这是当你深夜醒来时困扰你的事情之一。有人在某个时候做出了一个设计决定,使得可以输入某些基本类型的文字,但不能输入所有类型的文字。为什么?


In C, int至少应该具有 CPU 的“自然”字长,并且long可能意味着“更大的自然”字长(在最后一部分不确定,但它也可以解释为什么int and long在 x86 上具有相同的大小)。

现在,我的猜测是:对于int and long,有一个完全适合机器寄存器的自然表示。然而,在大多数 CPU 上,较小的类型byte and short必须填充到int无论如何在使用之前。如果是这样的话,你也可以有一个演员。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Java 中没有字节或短文本? 的相关文章

随机推荐

  • 在 Silverlight 拖放中获取放置索引

    This article http themechanicalbride blogspot com 2009 10 silverlight drag drop support part 2 html展示如何对放置事件实现复制操作 我想做同样
  • 在不使用背景颜色的情况下向 HTML 表格单元格添加背景颜色?

    除了背景颜色样式属性之外 还有其他方法可以向表格单元格添加 背景 颜色吗 我有一些表格 其中包含以编程方式生成的文本内容和背景颜色 它们可能会自行更新 我想暂时突出显示某些单元格 想象一下移动的光标 理想情况下不会触及现有代码或干扰背景颜色
  • 如何在设计时打开 WPF 菜单?

    我正在 WPF 中设置菜单样式 并且希望看看它的外观 而无需启动应用程序来打开菜单 有没有办法在设计时保持菜单打开 以便我可以看到菜单项 以便我可以随时看到更改 我目前只有 Visual Studio 2010 可以使用 您可以设置 IsS
  • 绝对值函数“fabsf”给定“double”类型的参数,但具有“float”类型的参数,这可能会导致值截断?

    鉴于此代码示例 CGFloat a 1 CGFloat b 2 CGFloat c fabsf a b 当前的 Xcode beta 编译器给了我这个警告 Absolute value function fabsf given an arg
  • C++ 错误:“成员 Eng​​ine::x 不是类型名称”

    我正在构建一个标准的 4 函数计算器 并且尝试将两个数字作为用户输入的参数传递 在我的 Engine h 类中我已经声明了 float num1 num2 我有这个功能 float Add num1 num2 在这些参数中 num1 和 n
  • MongoDB 空字段或 true/false

    在 MongoDB 上 当我们有 草稿 是 否 已发布 是 否 等字段时 哪个是最好的策略 在所有记录中创建字段并输入 是 否 值 还是将字段放在存在的位置 posts id 1 text hello draft true id 2 tex
  • Azure 配额超出异常

    当向通知中心发送通知时 我收到以下异常 Microsoft ServiceBus Messaging QuotaExceededException 远程 服务器返回错误 禁止 最大数量 通知操作已达到或超过 实际 33360 允许的最大值
  • 如何从文件中删除重复项并写入同一个文件?

    我知道我的标题不太容易解释 但让我尝试在这里解释一下 我有一个文件名test txt其中有一些重复的行 现在 我想做的是删除那些重复的行 同时update test txt与新内容 test txt AAAA BBBB AAAA CCCC
  • Swift:将枚举值转换为字符串?

    给定以下枚举 enum Audience case Public case Friends case Private 我如何获取字符串 Public 来自audience下面常数 let audience Audience Public 获
  • 访问组合框值

    I have a combobox and a button that makes runs a query with the values it gets from combobox but it does not seem to get
  • 绑定到 ItemsControl 的 DataTemplate 内的自定义控件

    我的绑定有问题DataTemplate基于定义的DataType in ItemsControl 当我想绑定到我的自定义用户控件 为了演示目的 我创建了简单的物品类别例如 我有这样的项目集合 public class Item public
  • 将 Textview 放在列表片段之上

    如何在片段顶部添加文本视图 我使用以下适配器来填充列表片段 并且 xml 文件是列表片段中的每一行 我需要在列表视图之上添加一个文本视图 该文本视图必须可以与列表一起滚动 public class Adapter extends BaseA
  • 如何用 purrr 替换修改 for 循环

    我想用 purrr 替代方案替换简单的 for 循环 我该如何编码并保持对象的原始结构 这是我的例子 my list lt list a list list aaa c 1 3 aab c 4 6 aac c 7 9 list aaa c
  • 异步/等待:ConfigureAwait 的意外行为

    如果您在 ASP NET MVC 中执行以下代码 您可以在调试窗口中看到它会在之后正确恢复线程的区域性await 即使 ManagedThreadId 发生变化 public async Task
  • 如何在 macOS Snow Leopard 中升级 ruby​​ 和 Rails

    我想将我的 Mac Snow Leopard ruby 从 1 8 7 版本升级到 1 9 1 版本 有人知道轻松且最佳的升级方法吗 因为我读过一些论坛 帖子 博客 讨论说覆盖苹果发布的红宝石不是很好吗 将 Rails 从 2 2 2 版本
  • Android 蓝牙:服务发现失败,连接到台式机/笔记本电脑

    我有一个几个月前使用的 Android 应用程序 我可以用它通过蓝牙将我的 Droid X2 连接到华硕 Transformer 平板电脑 这种连接效果很好 我刚刚在几台 Ubuntu 机器上使用 PyBlueZ 完成了客户端 服务器对的编
  • Portal_skins 文件夹中的嵌套覆盖

    如何覆盖嵌套的 Portal skins 文件夹中的文件 默认行为似乎是 如果您想覆盖单个文件 则需要复制整个文件夹结构 这是维护的噩梦 例如 如何覆盖文件 Producs TinyMCE skins tinymce plugins tab
  • 旋转 xticks 会导致刻度部分隐藏

    我正在创建一个绘图 其 x 轴上的名称和 y 轴上的时间值 分钟 x 轴上的名称就像 cooking 18 15 27 study 18 09 19 travel 18 21 34 etc 其中 y 值为 5 1 1 等 我将 xlabel
  • Threejs 具有设备方向控制的旋转对象

    我正在尝试实现类似于 Google 推出的名为 展览 的纸板应用程序示例之一的效果 我有一个 3D 对象 我想使用设备方向控制来旋转它 现在 只需使用设备方向控制 我就可以查看 3D 对象 但当我转身时 相机会旋转 似乎 导致对象从视野中消
  • 为什么 Java 中没有字节或短文本?

    我可以通过在值后面附加一个 L 来创建一个字面量 long 为什么我不能以类似的方式创建文字短或字节 为什么我需要将 int 文字与强制转换一起使用 如果答案是 因为 C 中没有短文字 那么为什么 C 中没有短文字呢 这实际上并没有以任何有