Java - 处理unsigned类型
Java没有unsigned类型,作者一定很后悔,现在加还来得及。没有unsigned类型,使得java在编解码方面成为残疾。这主要是作者在开始时只是把Java定位为一种脚本语言,要求不是太高。好吧,在Java里把整数分为byte short intlong四种类型,是没有unsigned类型的。那么在处理序列化数据时该怎么办呢?
字面整型常量默认为int型
例如:
long
long a = 0xA1A2; // a为正数
long a =0xA1A2A3A4; //a为负数,0xA1A2A3A4自动为一个int值,显然int型最大0x7FFFFFFF,所以a被视为负数。
long a = 0xA1; // a为正数
long a = 0xA1A2; // a为正数
long a = 0xA1A2A3A4; // a为负数,0xA1A2A3A4自动为一个int值,显然int型最大0x7FFFFFFF,所以a被视为负数。然而这句的本意是给a赋一个正数值,怎么做呢? -- 给字面常量添加 L 后缀即可。
然而这句的本意是给a赋一个正数值,怎么做呢?-- 给字面常量添加 L 后缀即可。
正确写法为:
long a = 0xA1A2A3A4L;
给字节数据赋值字面常量
byte arr[] = new byte[2];
byte[0] = (byte) 0xA1; //用byte强转,因为右侧被视为一个int型,其值为正数 > 128,显示byte存不下这个值
byte[1] = (byte) 0xA2;
字节合并成整数
接收到数据 arr[],合成整数: &0xFF变成正的int
long v = ( (arr[0]& 0xFF ) << 8) + (arr[1] & 0xFF);
arr[0] & 0xFF 这个表达式的类型为 int
4字节合并
public static long ToUint4(byte arr[]){return ((long)(arr[0]&0xFF) << 24)+ ((long)(arr[1]&0xFF) << 16)+ ((long)(arr[0]&0xFF) << 8)+ ((long)(arr[0]&0xFF)) ;}
Java - 处理unsigned类型相关推荐
- unsigned是java的关键字么_Java 语言没有 unsigned 类型
跟 C 语言不同,Java 中没有 unsigned 类型,这点可能让很多人都有过困扰. 那如果碰到确实需要用到 unsigned 类型的情况怎么办呢? 通常的办法就是用更大一号的类型来处理,比如: ...
- java 整型类型_Java基本类型-整型解读
java的基本类型包括以下几类: 整型 byte short int long 浮点型 float double 字符型 char 布尔型 boolean 它们都有对应的包装类型(如果没有特殊说明,下 ...
- 深度分析Java的枚举类型——枚举的线程安全性及序列化问题
点击关注,快速进阶高级架构师 作者:Hollis 写在前面:Java SE5提供了一种新的类型-Java的枚举类型,关键字enum可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为 ...
- Android java传递string类型数据给C
本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法, ...
- 将java.time.LocalDate转换为java.util.Date类型
本文翻译自:Convert java.time.LocalDate into java.util.Date type I want to convert java.time.LocalDate int ...
- java.lang.date_无法将java.lang.String类型的值转换为必需类型java.util.Date
from date: to date: Trouver 这是控制器代码部分: @RequestParam(name = "d1", defaultValue = "190 ...
- JAVA修饰符类型(public,protected,private,friendly)
JAVA修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的不论什么类均能够訪问: protected的类.类属变量及方法, ...
- Java数据结构类如何使用_Matlab如何使用Java的数据结构类型
Matlab 2008b才开始引入containers.Map,这是Matlab唯一的数据结构(这里的数据结构是指自带一定逻辑性的数据结构,不包括普通数据类型).如果要有其它,比如Queue.Set等 ...
- java int 127_Integer类型中奇怪的127和128
原标题:Integer类型中奇怪的"127"和"128" 今天给大家带来的是Java中Integer类型的自动装箱 自动装箱:就是Java自动将原始类型值转换成 ...
最新文章
- [SimpleOJ238]宝藏探寻
- 完美解决tar文件window解压问题
- UNIX再学习 -- 静态库与共享库
- 19年8月 字母哥 第一章 spring boot 2.x基础及概念入门 这里全部看完了 热部署没出来 第二章在前面2页 用热点公司网不行
- 谈谈C语言中的杂项运算符
- matlab cd参数,MATLAB变量参数列表​
- LeetCode 365. 水壶问题(最大公约数)
- scanf()的使用
- Ubuntu 中的编程语言(中)
- OpenShift 4 - 容器应用备份和恢复
- Sequelize-nodejs-8-Transactions
- C++基础::运算符重载
- AD9833信号波形谐波
- Soui Button学习一
- Windows应用程序进阶2(非模态对话框 通用对话框)
- (三)基于Phyphox的三线摆法测量物体转动惯量
- VRRP(虚拟路由冗余技术)
- JavaScript+css+html鼠标指针经过某些元素时背景变色
- python-多态_new魔法方法_单态模式_连贯操作
- SPJ数据库—初识sql语句(02)(注释版)