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

int转换在Java中工作需要多长时间?

易骁
2023-03-14
问题内容

这个问题 不是
关于将long正确地强制转换为int,而是当我们将其错误地强制转换为int时会发生什么。

因此,请考虑以下代码-

   @Test
    public void longTest()
    {
        long longNumber = Long.MAX_VALUE;
        int intNumber = (int)longNumber; // potentially unsafe cast.
        System.out.println("longNumber = "+longNumber);
        System.out.println("intNumber = "+intNumber);
    }

这给出了输出-

longNumber = 9223372036854775807
intNumber = -1

现在假设我进行以下更改-

long longNumber = Long.MAX_VALUE - 50;

然后我得到输出-

longNumber = 9223372036854775757
intNumber = -51

问题是, 如何 将long的值转换为int?


问题答案:

的低32位long被取出并放入int

不过,这是数学运算:

  1. 将负值long视为2^64该值的正值。因此-1被视为2 ^ 64-1。(这是 无符号的 64位值,这是该值实际以二进制形式表示的方式。)
  2. 将结果乘以2 ^ 32。(这是 无符号的 32位值。)
  3. 如果结果> = 2 ^ 31,则减去2 ^ 32。(这是带符号的32位值Java int。)


 类似资料:
  • 问题内容: 我正在使用PHP开发电子邮件验证正则表达式,我需要知道TLD可能有效且仍然有效的时间。我进行了一些搜索,但找不到关于该主题的太多信息。那么一个TLD可能会持续多久? 问题答案: DNS允许单个标签最多包含63个字符。

  • 问题内容: 我正在尝试将url参数传递给这样的django模板… 这是我的views.py文件中的调用行。persistConTemplate.html是我的模板的名称,request.GET是包含url参数的字典。 在模板中,我尝试使用像这样的参数之一… numItems是我在请求中这样发送的url参数之一… 当我尝试上面的for循环时,我得到这样的输出。 我期待并希望看到字图像印刷12次… 谁

  • 大家好,我有一个像youtube这样的视频托管网站,我允许上传几乎所有类型的视频,但我想将所有上传的视频转换为mp4格式 我可以做到这一点,我的代码在下面 这段代码将非mp4视频转换为mp4,并获得缩略图和正确的持续时间,但问题是,如果我上传大约100mbs的flv或mkv格式,这个过程需要非常长的时间,比如超过2-3小时。 如果你需要看完整的代码,请给我一些更好的建议 完整代码: 问题:上面的F

  • 我正在尝试将excel文件转换为XSSFWorkbook,我有大约7000行和大约145列。将excel文件转换为第2行的XSSFWorkbook大约需要15分钟,代码如下:- 我不想向XFFSWorkbook添加7000行,只想在第2行转换时向XFFSWorkbook添加30行? 如果没有,如何减少将excel转换为XSSFWorkbook所需的时间?

  • 问题内容: 我生成了一个安全的随机数,并将其值放入一个字节中。这是我的代码。 但是我遇到一个错误: 问题答案: 您的数组是基元,但是您正在尝试对其调用方法。 您无需做任何显式操作即可将a转换为,只需: …因为这不是垂头丧气。 请注意,-to- 转换的默认行为是保留值的符号(请记住,在Java中是带符号的类型)。因此,例如: 如果您想到的是无符号(156)而不是有符号(-100),那么从Java 8

  • 问题内容: 下面是一个代码片段, 但是我得到的是空输出。 我将得到1作为输出。 有人可以解释吗?如果我想像第一个代码片段一样将int转换为char,该怎么办? 问题答案: 会打印出ascii值为1的字符(首字符,这是不可打印的)。 将以ascii值49输出一个字符(一个对应于“ 1”) 如果要转换数字(0-9),则可以将数字加48并进行转换,例如;。 如果要转换 as asi的ascii值,可以使