Android 面试java知识小结

1.-1的二进制是多少,怎么算出来的?
1111 1111 在计算机里是以补码的形式存在的,那为什么要使用补码呢?

计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同 [1] 。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理
-1 转换成二进制是 1000 0001 反码是符号位不变,其他取反 1111 1110 补码是 反码加1 那就是 1111 1111了,需要提醒的是正数的原码,反码,补码,一样。

2.Java中的byte详细的介绍一下

byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。

在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。

3.Java 的基础数据类型有哪些,分别占多少存储?
8种基础数据类型:
1、整型

byte 、short 、int 、long

2、浮点型

float 、 double

3、字符型

char

4、布尔型

boolean
在这里插入图片描述
boolean (布尔值) 单独4字节,在数组中是1字节 false Boolean

4.如何将byte转换成int?
&0xFF int 是32位的, 0xFF 也是32位 实际上是:0000 0000 0000 0000 0000 0000 1111 1111 将二进制 前24位置0,因为如果二进制 符号位为负,前面24位为补1。

猜你喜欢

转载自blog.csdn.net/u012553125/article/details/127225958
今日推荐