「JAVA高低位取值」java位运算详解
今天给各位分享JAVA高低位取值的知识,其中也会对java位运算详解进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 怎么把一个 char 高低位 互换啊?
- 2、java 怎么把一个字节 高低位互换
- 3、java 16进制高低位转换问题
- 4、一个int数值按照规格“占2个字节,低位在前,高位在后” 用JAVA怎么实现?
- 5、java 怎么把一个字节 高低位互换啊?
- 6、java中为什么byte的取值范围为-128~127
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位运算详解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。