当前位置: 首页 > 面试题库 >

关于整数前导零

颛孙飞鸾
2023-03-14
问题内容

我有下面的代码

int a = 01111;
System.out.println("output1 = " + a);
System.out.println("output2 = " + Integer.toOctalString(1111));

和输出是

output1 = 585
output2 = 2127

我期望输出如下。

output1 = 2127
output2 = 2127

585当我打印直接int值时,为什么会给出?我期望Java自动将值从零开始转换为八进制。

01111和之间是什么关系585


问题答案:

前导0表示一个八进制数(以8为底)。

01111(八进制)是1 * 8 ^ 3 + 1 * 8 ^ 2 + 1 * 8 ^ 1 + 1 * 8 ^ 0 = 585(十进制)

Integer.toOctalString(1111)将十进制数字1111转换为八进制字符串。八进制2127(2 * 8 ^ 3 + 1 * 8 ^ 2
+ 2 * 8 ^ 1 + 7 * 8 ^ 0)是1111十进制。



 类似资料:
  • 问题内容: 我想知道和占用的内存是否存在差异 。 我知道通常占用4个字节,怎么样 问题答案: 通常,热点中的Java对象使用的堆内存包括: 对象标头,由几个字节的“内务处理”信息组成; 存储器为 原始 字段,根据它们的大小(中间体N-> 32位) 用于 参考 字段的存储器(每个4字节)(整数n-> 32位) 填充:可能在对象数据之后一些“浪费”的未使用字节,以使每个对象都从一个方便的字节数开始的地

  • “导出向导”让你从表、集合、视图或查询结果导出数据到任何可用的格式。你可以将设置保存为一个配置文件以供将来使用或用作设置自动运行任务。若要打开导出向导窗口,请在对象工具栏点击“导出向导”。 【注意】Navicat Essentials 版只支持导出纯文本格式的文件,例如 TXT、CSV、HTML、XML、SQL 和 JSON。

  • “导入向导”让你从 CSV、TXT、XML、DBF 等格式导入数据到表或集合。你可以将设置保存为一个配置文件以供将来使用或用作设置自动运行任务。若要打开导入向导窗口,请在对象工具栏点击 “导入向导”。 【注意】Navicat Essentials 版只支持导入纯文本格式的文件,例如 TXT、CSV、XML 和 JSON。 【提示】你可以拖拉一个支持格式的文件到表或集合的对象选项卡,或到导航窗格中的

  • “导出向导”让你从表、集合、视图或查询结果导出数据到任何可用的格式。你可以将设置保存为一个配置文件以供将来使用或用作设置自动运行任务。若要打开导出向导窗口,请在对象工具栏点击 、 或 。 【注意】Navicat Essentials 版只支持导出纯文本格式的文件,例如 TXT、CSV、HTML、XML、SQL 和 JSON。

  • “导入向导”让你从 CSV、TXT、XML、DBF 等格式导入数据到表或集合。你可以将设置保存为一个配置文件以供将来使用或用作设置自动运行任务。若要打开导入向导窗口,请在对象工具栏点击 。 【注意】Navicat Essentials 版只支持导入纯文本格式的文件,例如 TXT、CSV、XML 和 JSON。 【提示】你可以拖拉一个支持格式的文件到表或集合的对象选项卡,或到导航窗格中的一个数据库或

  • “导出向导”让你从表、集合、视图或查询结果导出数据到任何可用的格式。你可以将设置保存为一个配置文件以供将来使用或用作设置自动运行任务。若要打开导出向导窗口,请在对象工具栏点击“导出向导”。 【注意】Navicat Essentials 版只支持导出纯文本格式的文件,例如 TXT、CSV、HTML、XML、SQL 和 JSON。