java数据类型是有符号的,那与有些无符号的如何区别

Posted 鸭子船长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java数据类型是有符号的,那与有些无符号的如何区别相关的知识,希望对你有一定的参考价值。

那对于java的数据类型,我们就只有有符号的数据类型了,如short 的表示范围 -128到+127,这就是代表有符号的数据类型了。

java没有无符号类型,都是有符号类型的数据类型。但是其它语言,如c的unsigned short 无符号数,它值的范围就是要从0开始,并且比java的short类型保存的数据范围更大。

在实际开发中,可能要与c写的硬件接口,网络接口相互直接数据交互,此时由于java没有无符号的数据类型,导致java与c看似相同的数据类型,其实存储空间确是不同的,这个问题解决方法是java用更高的存储数据类型,如果c用int,你的java就要考虑用Long或者BigInteger了。还有一种方法就是用java的guava框架来实现你的目标了。你自个其实也可以写,但是容易出问题哦。

以上是关于java数据类型是有符号的,那与有些无符号的如何区别的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer知识点Java中无符号整型如何与int/long类型互相转化

剑指offer知识点Java中无符号整型如何与int/long类型互相转化

剑指offer知识点Java中无符号整型如何与int/long类型互相转化

char类型到底是有符号还是无符号

JAVA中类型(char、long、int.....一共八个)有符号和无符号是啥意思

java 无符号byte转换