Ⅰ 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中的整數了。