byte x=(byte)0xff;的十进制是多少?
发布网友
发布时间:2022-04-22 16:12
我来回答
共3个回答
热心网友
时间:2023-11-11 22:51
wirite(int b)每次向内存中字节数组写入一个字节,
int 的前24字节被忽略,只写低位8字节。0x7f和0xff都没超过1个字节。
0x7f的低8位是 0111 1111。0xff是1111 1111
整型数在计算机中是用补码表示的。
所以0111 1111读出来的时候,符号位是0,其原码还是0111 1111,数值是127。
1111 1111符号位是1,是负数,其原码是1000 0001,表示的数值就是-1。
有什么问题请追问。
热心网友
时间:2023-11-11 22:51
一个字节是装不下整数的
0x7f 0xff 都是16进制整数转换成10进制是127和255
你用过byte转换出来会损失精度的
一个byte只能表示-128~127的整数
用以下代码试一下就知道咯:
byte b = (byte)0xff;
System.out.println(b);
0xff赋值到byte正好是-1
热心网友
时间:2023-11-11 22:51
out.write(0xff);
out.write(0xff);
out.write(0xff);
就是这几个语句输出的啊