Java实现uint8_t/uint16_t/uint32_t
来源:互联网 发布:北京大学大数据学院 编辑:程序博客网 时间:2024/04/28 09:19
(转载请注明原文地址:http://blog.csdn.net/vector_yi/article/details/44648997)
在Java
中,整数可以用byte
,short
,int
和long
等类型来表示,并不支持unsigned
类型。然而在很多情况下Java
也需要处理无符号类型,如翻译C/C++
代码,与C/C++
进行通讯等,这时就需要用Java
来实现uint8_t
,uint16_t
,uint32_t
等类型。
Java
实现unsigned
类型一般的思路为用更大的存储空间来保存无符号类型,以确保unsigned
最高位不会被Java
整型中的符号位所混淆。举个例子:
uint16_t
所占的存储空间为16位(即2字节),如果我们用Java
中占2字节的short
类型来保存uint16_t
,肯定会造成最高位的混淆。所以我们可以用占4字节的int
类型&0x0000ffff
来保存uint16_t
。
uintN_t
中的N表示该类型占用的存储空间为N位:
uint8_t
8
1
short
uint16_t
16
2
int
uint32_t
32
4
long
以下为用Java实现不同无符号类型的具体代码: uint8_t
public short getUint8(short s){ return s & 0x00ff; }
uint16_t
public int getUint16(int i){ return i & 0x0000ffff; }
uint32_t
public long getUint32(long l){ return l & 0x00000000ffffffff; }
举个例子: C++
代码
uint16_t n1,n2,n3; n3 = n1 ^ n2;
Java
实现
int n1,n2,n3; n3 = getUint16(n1 ^ n2);
代码纯手打,如有问题还请见谅。
2 0
- Java实现uint8_t/uint16_t/uint32_t
- uint8_t,uint16_t,uint32_t 数据类型
- uint8_t / uint16_t / uint32_t /uint64_t
- uint8_t / uint16_t / uint32_t /uint64_t
- uint8_t , uint16_t,uint32_t,uint64_t
- uint8_t / uint16_t / uint32_t /uint64_t
- uint8_t / uint16_t / uint32_t /uint64_t
- uint8_t / uint16_t / uint32_t /uint64_t
- uint8_t / uint16_t / uint32_t /uint64_t 数据类型
- 数据类型 uint8_t uint16_t uint32_t uint64_t
- 关于uint8_t,uint16_t,uint32_t数据类型
- uint8_t / uint16_t / uint32_t /uint64_t 数据类型
- UINT8_T / UINT16_T / UINT32_T /UINT64_T讲解
- uint8_t / uint16_t / uint32_t /uint64_t数据类型
- uint8_t / uint16_t / uint32_t /uint64_t 相关内容
- uint8_t / uint16_t / uint32_t /uint64_数据类型
- uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型
- uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型
- wcf的简单服务建立
- 玩转百度即用API(2)——身份证查询
- Sql Server 删除所有表
- 第四周 项目一-三角形类的构造函数(四)
- 为chromium增加底部工具栏
- Java实现uint8_t/uint16_t/uint32_t
- 【Node.js基础篇】(四)Node.js实现文件路由功能
- 站长排名限制在50内,是何节奏?
- 倾城花
- 2014找工作总结-机会往往留给有准备的人
- 视频监控行业G711编解码
- OV5645 MIPI YUVS 摄像头MTK6572平台上调试问题
- socket与http的区别
- 程序员面试笔记4----函数指针