‘壹’ 无符号char型,在java 中怎么定义
Java的设计者感到无符号整数是不必要的。具体地说,他们感到无符号(unsigned)概念主要被用来指定高位(high-orderbit)状态,它定义了当int表示一个数字时的符号。你将在第4章中看到,Java对高位含义的管理是不同的,它通过增加一个专门的“无符号右移”运算符来管理高位。这样,就不需要无符号整数了。
所以JAVA是没有无符号类型的
‘贰’ java有没有unsigned int
默认情况下,java和c++的int都是32位的
第一位是符号位,范围是大概正负2的31次方。
如果是unsigned的话,没有符号位。
范围是0-2的32次方-1.
就是说,unsigned int可以再java里用int表示。
不过要在java里计算的话,记得负数时用反码表示的。
就是用uint表示的数大于2的127次方的话,
java取出来是负数,但是大小不对。
因为java把第一位当做符号了,第一位其实表示2的31次方。
需要转成long来才能表示。最后可以转int,然后取第一位的bit值,或进去,然后再存。