有符号数与无符号数

JAVA学习网 2020-11-11 10:30:01

1、无符号数:其最高位的1或0,和其它位一样,用来表示该数的大小。
一个字节(1111 1111) 1111 1111=12^7+12^6+12^5+12^4+12^3+12^2+12^1+12^0=255;所以无符号的一个字节表示的数据范围是0~255 共 256个;

例如:100 无符号表示:0110 0100

 

2、有符号数:最高数称为“符号位”。为1时,表示该数为负值,为0时表示为正值。
一个字节(0111 1111) 最高位的0表示正号,0111 1111=+111 1111=+(12^6+12^5+12^4+12^3+12^2+12^1+1*2^0)=+127
一个字节(1111 1111) 最高位的1表示负号,1111 1111 =-111 1111 =-127 所以有符号的一个字节表示的数据范围是-127 到 +127 共 255个;

例如:100 有符号表示:0110  0100  //最高位0 表示 +号, 后七位才是具体数据位

例如:-100 有符号表示: 1110  0100 //最高位1 表示 -号, 后七位才是具体数据位

 

二、java中的基础数据类型

JAVA中没有提供无符号的基本数据类型

在 java 中byte 的范围是 -128 到127  ,应为计算机采用补码的形式。

 

阅读(2392) 评论(0)