gpt4 book ai didi

java - 简而言之按位运算

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:40:53 25 4
gpt4 key购买 nike

我正在使用一种称为 DDS 的技术,在 IDL 中,它不支持 int。所以,我想我会使用 short。我不需要那么多位。但是,当我这样做时:

short bit = 0;
System.out.println(bit);
bit = bit | 0x00000001;
System.out.println(bit);
bit = bit & ~0x00000001;
bit = bit | 0x00000002;
System.out.println(bit);

它说“类型不匹配:无法从 int 转换为 short”。当我将 short 更改为 long 时,它工作正常。

是否可以在 Java 中对 short 执行这样的位运算?

最佳答案

在对 byteshortchar 进行任何算术运算时,数字会被提升为更宽的类型 int。要解决您的问题,请将结果显式转换回 short:

bit = (short)(bit | 0x00000001);

链接:

关于java - 简而言之按位运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7015997/

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