「JAVA高低位取值」java位运算详解

博主:adminadmin 2023-01-04 05:48:07 1080

今天给各位分享JAVA高低位取值的知识,其中也会对java位运算详解进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java 怎么把一个 char 高低位 互换啊?

如果非要得到一个字符的高低位,可以用位运算,获得高位:

右移8位,跟8位1与,低位的获取方法类似

java 怎么把一个字节 高低位互换

用Java的字节流,读取一个int的4个字节,然后转换。 比如读取的数据是:

byte1 byte2 byte3 byte4

在其实这是C++的 byte4 byte3 byte2 byte1

那你可以用位运算转成Java中的对应的整数:

(byte1 0xff)0 + (byte2 0xff)8 + (byte3 0xff) 16 +(byte4 0xff)24 这样转换后的,就是Java中的整数了。

java 16进制高低位转换问题

将数据转换成16进制,可以用InteInteger.toHexString()这个方法。

将16进制转换成10进制,可以用intValue()方法。

高低位转换就不知道了哦。。。

下面是测试代码,希望能帮到你~!

public class DataTransfer {

public static void main(String[] args) {

// TODO Auto-generated method stub

Integer a = -1;

System.out.println(Integer.toHexString(a));

Integer b = 0xff;

System.out.println(b.intValue());

}

}

下面这个是在网上找到的,高低位转换:

// Java读取后,顺序已经反了

int javaReadInt = ;

// 将每个字节取出来

byte byte4 = (byte) (javaReadInt 0xff);

byte byte3 = (byte) ((javaReadInt 0xff00) 8);

byte byte2 = (byte) ((javaReadInt 0xff0000) 16);

byte byte1 = (byte) ((javaReadInt 0xff000000) 24);

// 拼装成 正确的int

int realint = (byte1 0xff)0 + (byte2 0xff)8 + (byte3 0xff) 16 +(byte4 0xff)24 ;

一个int数值按照规格“占2个字节,低位在前,高位在后” 用JAVA怎么实现?

65535是个不当的例子,

二进制的2个字节

11111111 11111111

谁先随后都没有区别。

“低位在前,高位在后”是小端数

Java在输出时可以

short s=(short)0xABCD;//原数ABCD二个字节

byte a[]=new byte[2];//准备两个字节

a[0]=(byte)(s0xff); //获得低位字节

a[1]=(byte)(s8);//获得高位字节

outputstream.write(a);//在输出流把数组a依次写入,就写了一个小端数。

java 怎么把一个字节 高低位互换啊?

位运算啊

byte b='0';

int b1=b40xf0; //左移4位和 11110000与运算 低位变高位

int b2=b40x0f;//右移4位和 00001111与运算 高位变低位

byte c=b1+b2; //高位低位相加得到高地位互换。

java中为什么byte的取值范围为-128~127

java中的byte是有符号整形,1字节,8位,最高位是符号位,只有7位用来表示数值

最大值:01111111b=127 即2的7次方减去1;最小值: 10000000b即2的7次前面加个负符号:-128

关于JAVA高低位取值和java位运算详解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。