java – Bitwise Operations简称
发布时间:2020-12-15 00:55:35 所属栏目:Java 来源:网络整理
导读:我使用的是一种名为DDS的技术,在IDL中,它不支持int.所以,我想我会用简短的??.我不需要那么多比特.但是,当我这样做时: short bit = 0;System.out.println(bit);bit = bit | 0x00000001;System.out.println(bit);bit = bit ~0x00000001;bit = bit | 0x0000000
我使用的是一种名为DDS的技术,在IDL中,它不支持int.所以,我想我会用简短的??.我不需要那么多比特.但是,当我这样做时:
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”.当我改变短到长时,它工作正常. 是否有可能在Java中执行这样的按位操作? 解决方法
在对byte,short或char进行任何算术时,数字将被提升为更宽的int类型.要解决您的问题,请将结果显式转换为简短:
bit = (short)(bit | 0x00000001); 链接: >堆栈溢出:Promotion in Java? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |