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

带有前导零的整数-意外结果

乐寒
2023-03-14
问题内容

给定以下示例:

public class Main {
    public static void main(String[] args) {
        System.out.println(1234);
        System.out.println(01234);
    }
}

输出为:

1234
668

为什么?


问题答案:

这是因为前导零的整数文字是八进制整数(以8为底):

1 * 8^3 + 2 * 8^2 + 3 * 8 + 4 = 668


 类似资料:
  • 问题内容: 我正在使用NumPy在Python中使用标准方法创建对称矩阵/数组: 现在让我们变得聪明: 等一下 左上和右下部分是对称的。如果我选择了较小的阵列怎么办? 好.... 只是要确保… 这是一个错误,还是我要学习一些有关NumPy数组的疯狂知识? 问题答案: 该操作返回该数组的 视图 ,这意味着未分配新数组。反过来,这意味着您正在同时读取和修改阵列。很难说出为什么某些大小或结果区域起作用的

  • 问题内容: 我有下面的代码 和输出是 我期望输出如下。 当我打印直接int值时,为什么会给出?我期望Java自动将值从零开始转换为八进制。 和之间是什么关系? 问题答案: 前导0表示一个八进制数(以8为底)。 01111(八进制)是1 * 8 ^ 3 + 1 * 8 ^ 2 + 1 * 8 ^ 1 + 1 * 8 ^ 0 = 585(十进制) 将十进制数字1111转换为八进制字符串。八进制2127

  • 问题内容: 我需要存储Medicare APC代码。 我相信格式需要4个数字。前导零是相关的。有什么方法可以通过验证存储此数据类型?我应该如何存储这些数据(varchar(4),int)? 问题答案: (可选)您仍然可以添加检查约束,以确保数据为带前导零的数字。本示例将在Oracle中引发异常。在其他RDBMS中,可以使用正则表达式检查:

  • 我想在标准C中将任何大小整数的前导零位设置为1。 例如。 0001 0011 0101 1111 - 我发现的所有算法都需要相当昂贵的前导零计数。然而,这很奇怪。有非常快速和简单的方法来进行其他类型的位操作,例如: 这让我想到一定有一种方法可以在一行简单的代码中设置整数的前导零,这些代码由基本的位明智运算符组成。请告诉我有希望,因为现在我正满足于反转整数中的位顺序,然后使用设置尾随零的快速方法,然

  • 问题内容: 我可以用math.round舍入到小数位数的x位数,但是有没有办法舍入到小数点的左边?例如,如果我指定2个位置,则5变为05 问题答案: 您是否要求零填充?不是真正的舍入。您必须将其转换为字符串,因为数字对于前导零没有意义。像这样 或者,如果您知道您永远不会使用X个以上的零,那么可能会更好。这假设您永远不要超过10位数字。 如果您关心负数,则必须去除“-”并读取它。

  • 我做了一个练习,将某些数字提升到给定的幂。正是我遇到的问题: 我们使用整数a、b和n来创建以下序列: 将以a、b和n的形式为您提供q查询。对于每个查询,将与给定a、b和n值对应的序列打印为一行由n个空格分隔的整数。 输入格式 第一行包含一个整数q,表示查询的数量。q后续行的每一行i都包含三个空格分隔的整数,描述该查询的相应ai、bi和ni值。 输出格式 对于每个查询,在新行上打印相应的序列。每个系