码迷,mamicode.com
首页 > 其他好文 > 详细

0XFF

时间:2019-08-04 13:17:26      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:二进制   编译   进制转换   形式   而且   nbsp   需要   概念   col   

0xFF = 00000000000000000000000011111111

也就是说 0xFF 代表了一个 byte 位全为 1,-1的补码(数据)。

数值和数据是两个不同的概念。数值表示一个数的大小,而数据就是补码(因为计算机中是以补码形式存在的)。

 

byte b = -1; //表示在计算机中真实的数据值(即补码)11111111
int a = b & 0xFF;//11111111 & 11111111 =00000....11111111,而且就看成了是其补码了,编译器会以这个二进制转换成十进制输出,所以a = 255

而:

byte b=-1;
int a = b = -1 = 11111111111111111111111111111111;

前者保持了数据不变,数值从-1变成了255;

后者保持了数值不变,数据从11111111变成了1111111111111111111111111.。。。。

 

一般用于我们做小基本数据类型转大基本数据类型. 例如我们需要序列化及反序列化 int 数据

0XFF

标签:二进制   编译   进制转换   形式   而且   nbsp   需要   概念   col   

原文地址:https://www.cnblogs.com/pacino12134/p/11297833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!