❶ java 二進制轉換16進制
import java.util.Scanner;
public class Binary2Hex {
private static String hexStr = "0123456789ABCDEF";
/**
*
* @param bytes
* @return 將二進制轉換為十六進制字元輸出
*/
public static String BinaryToHexString(byte[] bytes){
String result = "";
String hex = "";
for(int i=0;i<bytes.length;i++){
//位元組高4位
hex = String.valueOf(hexStr.charAt((bytes[i]&0xF0)>>4));
//位元組低4位
hex += String.valueOf(hexStr.charAt(bytes[i]&0x0F));
result +=hex;
}
return result;
}
public static void main(String[] args) {
Scanner sca = new Scanner(System.in);
boolean flag = true;
while (flag) {
System.out.print("請輸入一個二進制字元串:");
String str = sca.next();
System.out.println();
System.out.println("您輸入的是字元串的十六進制為:"+BinaryToHexString(str.getBytes()));
System.out.print("是否繼續轉化(如果不繼續請輸入「exit」,繼續的話輸入任意字元):");
String _str = sca.next();
if (_str.equalsIgnoreCase("exit")) {
flag = false;
}
}
}
}
❷ java怎樣將已知的10進制數轉換為16進制
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("請出入一個十進制數");
int x = sc.nextInt();
System.out.println(x+"的十六進制結果是:"+Integer.toHexString(x));
}
}
❸ java的十進制怎麼轉為十六進制
查jdk文檔,可以發現在long類裡面有這些方法
static String toBinaryString(long i)
以二進制無符號整數形式返回 long 參數的字元串表示形式。
static String toHexString(long i)
以十六進制無符號整數形式返回 long 參數的字元串表示形式。
static String toOctalString(long i)
以八進制無符號整數形式返回 long 參數的字元串表示形式。
如果你自己要寫一個程序 實現這個功能,
就是將數字除16取余。。。
❹ java中怎麼將10進制轉化成十六進制
1,可以手動計算先將10進制的數轉為二進制,二進制再轉為16進制
2,我們可以直接使用java api提供的方法直接轉換
int num = 14;
String hexNum = Integer.toHexString(num);
hexNum即為16進制的數
3,如圖
❺ java中如何將byte[]裡面的數據轉換成十六進制
/* *
* Convert byte[] to hex string.這里我們可以將byte轉換成int,然後利用Integer.toHexString(int)
*來轉換成16進制字元串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能將byte[]轉化成16進制字元串,希望能幫到你。
❻ java中如何將byte[]裡面的數據轉換成十六進制
方法如下:
/* *
* Convert byte[] to hex string.這里我們可以將byte轉換成int,然後利用Integer.toHexString(int)
*來轉換成16進制字元串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能將byte[]轉化成16進制字元串,
❼ java 將十進制轉換成十六進制字元串
importjava.util.Scanner;
publicclassTentoSixteen{
privatestaticStringBuildersum=newStringBuilder();
privatestaticintrulst;//定義一個結果,記錄數與15的與運算結果,求得原數二進制最後四位的值
privatestaticintcount;//若數的二進制不止四位,定義一個數來記錄除去後四位的新數,運用遞歸作用與rulst相同
privatestaticvoidTtoSMethod1(inti){//JDK自帶的轉化方法
Stringexchanged=Integer.toHexString(i);
System.out.println(exchanged);
}
privatestaticvoidSop(){//將得到的字元串反轉
System.out.println(sum.reverse().toString());
}
privatestaticvoidsubim(intrulst){//判斷是否超出10,根據十六進制的規則超出10部分由字母ABCDEF代替
if(rulst<10){
sum.append(rulst);
}else{
sum.append((char)('A'+(rulst-10)));//將int強制轉換為char
}
}
privatestaticvoidTtoSMethod2(inti){
rulst=i&15;
if(i<(1<<4)&&i>=0){//判斷數有多少位,大於0小於16,則轉換後打直接印
subim(rulst);
}else{//不止四位的數則用遞歸來多次運算
count=i>>4;//除去最後四位
subim(rulst);
TtoSMethod2(count);//遞歸直到count為0止
}
}
publicstaticvoidmain(String[]args){
@SuppressWarnings("resource")
Scannerscan=newScanner(System.in);
System.out.println("請出入一個十進制數:");
intnum=scan.nextInt();
TtoSMethod1(num);//自帶方法
TtoSMethod2(num);//自定義方法,可將任意的十進制轉化為十六進制
Sop();//輸出
}
}
❽ 可以把java中十進制數用代碼直接轉為16進制嗎
//當然可以:我分兩步講解,兩種方法,一個比較簡單,利用系統API,一個講原理稍微復雜一點!
importjava.util.Scanner;
publicclassTohex
{
//錄入數字用!
privatestaticScannersc=newScanner(System.in);
//容器,存放轉好的數字,也可以不用,也可以用數組!
privatestaticStringBuffersb;
publicstaticvoidmain(String[]args)
{
/*
Integer,這個類功能很強大,是Java提供的,想用可以查詢一下;
特點就是簡單拿來就用,新手不建議使用,搞懂進制轉換原理以後在去使用API事半功倍!
*/
System.out.println(" ==========裝16進制!========== 系統API(Integer)演示: ");
init();
}
//方法1,用系統API
privatestaticvoidinit()
{
//十進制!
inta=125454;
//轉換過程16進制!
Stringhex=Integer.toHexString(a);
System.out.println(a+"十六進制="+hex+" ------------------------------------ 自定義測試: ");
input();
}
//方法2:自己動手轉換,了解轉換原理!
privatestaticvoidinput()
{
while(true)
{
System.out.println("輸入被轉數字: ");
inta=sc.nextInt();
System.out.println("輸入想轉的進制:暫時支持2,8,16進制");
intb=sc.nextInt();
ToHex(a,b);
}
}
//轉換過程!
privatestaticvoidToHex(intx,inty)//a是要轉數字,b是進制!
{
sb=newStringBuffer();
inta=x,b=0,c=0;
switch(y)
{
case2:b=1;c=1;
break;
case8:b=7;c=3;
break;
case16:b=15;c=4;
break;
default:break;
}
while(a>0)
{
inttem=a&b;
Strings=tem>9?((char)(tem-10+'A'))+"":tem+"";
sb.append(s);
a=a>>>c;
}
print(sb);//傳遞列印!
}
//列印!
privatestaticvoidprint(StringBuffersb)
{
System.out.println(" 結果演示:"+sb.reverse()+" 請繼續輸入測試--->> ");
sb=null;
}
}
❾ java如何將文件轉換到十六進制
一個簡單的java程序來驗證字元串格式化程序的使用(「% 02x」)將文件轉換成十六進制值。