Ⅰ java 怎么把一个字节 高低位互换啊
位运算啊
byte b='0';
int b1=b<<4&0xf0; //左移4位和 11110000与运算 低位变高位
int b2=b>>>4&0x0f;//右移4位和 00001111与运算 高位变低位
byte c=b1+b2; //高位低位相加得到高地位互换。
Ⅱ 一个字符串 01010102八位 java 能把他能转化成位 然后 8位组成一个byte 转化为相应AscII码输出吗
可以,java本身没有这个方法,但可以实现,利用字符串截取,字节转换,输出不是问题
Ⅲ java中如何将十进制数字转化成二进制
如果表达小于2^31-1的正数代码如下:
public void binaryToDecimal(int n){
int t = 0; //用来记录位数
int bin = 0; //用来记录最后的二进制数
int r = 0; //用来存储余数
while(n != 0){
r = n % 2;
n = n / 2;
bin += r * Math().pow(10,t);
t++;
}
System.out.println(bin);
}
使用字符串的拼接(+)来实现大于2^31-1的数,代码如下:
public void binaryToDecimal(int n){
String str = "";
while(n!=0){
str = n%2+str;
n = n/2;
}
System.out.println(str);
}
可以右移后再与0x01进行&运算得到第一位的数字判断判断它的第几位上是0,第几位上是1,代码如下:
class ByteMove
{
public static void main(String[] args)
{
int i = 7;
move(i);
}
static void move(int num){
for(int i= 0;i<6;i++){
System.out.println("第"+(i+1)+"位:" + (num >> i & 0x01));
}
}
}
Ⅳ Java中如何将15位数转换成11位数
你可以用String的format函数输出,整数3,想要输出两位用0填充,输出03,就可以像下面这样。 public class FormatTest{ public static void main(String[] args) { int a = 3; System.out.println(String.format("%02d", a)); }}
Ⅳ 在java中怎么把32位字符串转成16位唯一的字符串
uuid工具类可以生成32位随机数,你把他的长度减16就行了。
Ⅵ 用JAVA将十进制转换成十六进制
1、用Integer.toHexString方法即可将十进制装成十六进制。
package com.test;
public class Test {
public static void main(String[] args) {
int i = 123;
System.out.println(Integer.toHexString(i));
}
}
Ⅶ java转换数字以万为单位
import java.util.Scanner;
/**
* 小于100000的不转换,大于或等于100000的转换为10万,以此类推,110000转为11万,112000为11.2万
* @author inferno
*
*/
public class Wan {
public static void main(String[] args) {
System.out.print("输入一个整数:");
Scanner scan = new Scanner(System.in);
long num = scan.nextLong();
if(num<100000){
System.out.println("您输入的数字为:"+num);
}else{
double n = (double)num/10000;
System.out.println("您输入的数字为:"+n+"万");
}
}
}
Ⅷ 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 ;
Ⅸ 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中的整数了。