Java长整型转二进制

18

我原以为很简单的事情最终变得不那么简单。

我需要将一个长数字转换为二进制。

例如:

String b =  Integer.toBinaryString(1028);

输出结果为10000000100。

但是当我使用 Integer.toBinaryString(2199023255552); 时,它没有起作用。 当然,这个数字对于该函数来说太大了,我找不到一个可以将long类型转换的函数。

有什么建议吗?

谢谢。

1个回答

53

添加一个L以表示这是一个长整型<1>,并使用Long类<2>:

Long.toBinaryString(2199023255552L);

<1> 在Java中,除非你另行指定,否则常量被视为整数。

<2> Integer.toBinaryString() 接收 int 作为参数,而不是 long。


非常感谢。抱歉,我一开始没有看到L。有点奇怪但没关系... - Steve
我很好奇,我总是需要在结尾处使用L吗?我查看了所有我在网上找到的示例,没有一个有这个。 - Steve
当你想要指定一个long类型时,是的。 - MByD
1
@Eng.Fouad - 你的评论让我感到很熟悉 :) https://dev59.com/lmw15IYBdhLWcg3wFH3f#6834049 - MByD
@MByD 哈哈,真巧啊。我记得我曾经对某个人说过这句话,但从没想到是同一个人和类似的回答。哇! - Eng.Fouad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接