Java 初始化长数字

Java 初始化长数字,java,long-integer,Java,Long Integer,我正在开发一个硬件接口应用程序 通过任何8字节数字初始化long数据类型值(因为它是固定的 dll文件)中给出的键示例: 我在原始数据类型(JavaAPI)上看到了long的范围是从 -9223372036854775808至9223372036854775807(19位数字)。 显然,我输入的号码(16位数字)在 long数据类型的范围,所以我为什么会出现这种错误。在末尾追加L,使其成为long literal long fixedKey=0123456701234567L; //error

我正在开发一个硬件接口应用程序 通过任何
8字节
数字初始化
long
数据类型值(因为它是固定的
dll
文件)中给出的键示例:

我在原始数据类型(JavaAPI)上看到了
long
的范围是从 -9223372036854775808至9223372036854775807(19位数字)。 显然,我输入的号码(16位数字)在
long
数据类型的范围,所以我为什么会出现这种错误。

在末尾追加
L
,使其成为
long literal

long fixedKey=0123456701234567L; //error on this line

L
追加到末尾,使其成为
长文字

long fixedKey=0123456701234567L; //error on this line

你应该在你的号码上加一个L后缀。另外,您确定要用八进制表示您的号码吗?

您应该在您的号码中添加一个L后缀。另外,您确定要用八进制来表示您的数字吗?

使用
L
来表示它是一个长类型,如

long fixedKey=0123456701234567L; 

使用
L
显示它是一个长类型,如

long fixedKey=0123456701234567L; 

除了答案之外,您确定需要
前导0
。这将使您的文字被解释为八进制。@Rohit您是对的,但正如我在问题中提到的,它是dll文件中给定的固定键,因此我无法更改此数字。如果它不是要被解释为八进制数,请去掉前导的
0
,写:
long fixedKey=12345670134567L
除了答案之外,您确定需要
前导0
。这将使您的文字被解释为八进制。@Rohit您是对的,但正如我在问题中提到的,它是dll文件中给定的固定键,因此我无法更改此数字。如果它不是要被解释为八进制数,请去掉前导的
0
,写:
long fixedKey=12345670134567L
@Aniket不客气:),别忘了接受答案:)但请注意上面关于该数字被解释为八进制的评论@Aniket欢迎:),别忘了接受答案:)但请注意上面关于该数字被解释为八进制的评论!