gpt4 book ai didi

java - 声明二进制整型常量

转载 作者:行者123 更新时间:2023-12-01 18:40:31 26 4
gpt4 key购买 nike

因此,我正在 Java 中实现 DES(数据加密标准),需要将 key 声明为 64 位的二进制值,但不知道如何执行此操作。有人可以帮助我吗?

我想说这样的话:int = K 000100110011010001010111011110011001101110111100110111111110001;

但是,IDE 总是发出错误提示,说它是一个非常大的整数。

最佳答案

如果您使用的是 Java 7 或更高版本,则可以通过在值前面添加“0b”来指定二进制常量,例如:

long value = 0b000100110011010001010111011110011001101110111100110111111110001L;

但是,如果您无法使用该语言功能,则可以使用十进制、八进制或十六进制表示法。如果您只是声明常量,则可以使用在线工具,例如 http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html ,或者也许是您最喜欢的计算器,以转换为 Java 识别的基数。

例如:

long value = 691913582662545393L;

或者:

long value = 0x99A2BBCCDDE6FF1L;

您可能想通过在评论中描述该值的含义来澄清:

// binary: 000100110011010001010111011110011001101110111100110111111110001
long value = 0x99A2BBCCDDE6FF1L;

您可能已经从上面的示例中注意到,您将需要使用 long 并将 L 后缀添加到常量中。在 Java 中,int 是 32 位,long 是 64 位。 L 后缀指定一个 long 文字,没有它,它是一个 int 并且值会太大。

附注以“0”(但不是“0x”或“0b”)开头的整数文字被解释为八进制。您最初尝试指定的常量被解释为非常大的八进制数。

关于java - 声明二进制整型常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20084939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com