當前位置:首頁 » 編程語言 » java轉換16進制

java轉換16進制

發布時間: 2022-12-30 23:10:05

java字元串轉16進制

1、寫轉換函數是必須的,目前Jdk中無現有類。
2、在不同的字元編碼當中,漢字的對應的數值或者說編碼值不一樣,像GBK、Unicode肯定是不一樣的。以Java默認的Unicode為例說明問題。
3、 一,得到字元串,
二,遍歷每個字元,用char來接收,實為int值,或直接用int也可以。
三,Integer.toHexString(每個字元對應的int值);
四,前綴加個「0x」就可以了。
4、如果是其它類型的話,找到對應的字元和數值對應表就可以了。
不知可否解決問題了。

Ⅱ 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進制轉化成十六進制

Scanner sc = new Scanner(System.in);
System.out.println("請出入一個十進制數");
int x = sc.nextInt();
System.out.println(x+"的十六進制結果是:"+Integer.toHexString(x));

Ⅳ 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中怎樣將十進制浮點數轉換為十六進制

將十進制浮點數轉換為十六進制具體方法如下:
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));
}
}
注意事項:
Integer.toBinaryString(int i) 轉二進制
Integer.toHexString(int i)轉十六進制
Integer.toOctalString(int i)轉八進制

Ⅶ java中 怎麼把 ascii碼轉換為 十六進制

我剛好寫了


publicstaticStringASCII2HEX(StringASCII2HEX_STRING){

switch(ASCII2HEX_STRING){

case"NUL":
return"00";
case"SOH":
return"01";
case"STX":
return"02";
case"ETX":
return"03";
case"EOT":
return"04";
case"ENQ":
return"05";
case"ACK":
return"06";
case"BEL":
return"07";
case"BS":
return"08";
case"HT":
return"09";
case"LF":
return"0A";
case"VT":
return"0B";
case"FF":
return"0C";
case"CR":
return"0D";
case"SO":
return"0E";
case"SI":
return"0F";
case"DLE":
return"10";
case"DC1":
return"11";
case"DC2":
return"12";
case"DC3":
return"13";
case"DC4":
return"14";
case"NAK":
return"15";
case"SYN":
return"16";
case"ETB":
return"17";
case"CAN":
return"18";
case"EM":
return"19";
case"SUB":
return"1A";
case"ESC":
return"1B";
case"FS":
return"1C";
case"GS":
return"1D";
case"RS":
return"1E";
case"US":
return"1F";
case"SP":
return"20";
case"!":
return"21";
case"\":
return"22";
case"#":
return"23";
case"$":
return"24";
case"%":
return"25";
case"&":
return"26";
case"'":
return"27";
case"(":
return"28";
case")":
return"29";
case"*":
return"2A";
case"+":
return"2B";
case",":
return"2C";
case"_":
return"2D";
case".":
return"2E";
case"/":
return"2F";
case"0":
return"30";
case"1":
return"31";
case"2":
return"32";
case"3":
return"33";
case"4":
return"34";
case"5":
return"35";
case"6":
return"36";
case"7":
return"37";
case"8":
return"38";
case"9":
return"39";
case":":
return"3A";
case";":
return"3B";
case"<":
return"3C";
case"=":
return"3D";
case">":
return"3E";
case"?":
return"3F";
case"@":
return"40";
case"A":
return"41";
case"B":
return"42";
case"C":
return"43";
case"D":
return"44";
case"E":
return"45";
case"F":
return"46";
case"G":
return"47";
case"H":
return"48";
case"I":
return"49";
case"J":
return"4A";
case"K":
return"4B";
case"L":
return"4C";
case"M":
return"4D";
case"N":
return"4E";
case"O":
return"4F";
case"P":
return"50";
case"Q":
return"51";
case"R":
return"52";
case"S":
return"53";
case"T":
return"54";
case"U":
return"55";
case"V":
return"56";
case"W":
return"57";
case"X":
return"58";
case"Y":
return"59";
case"Z":
return"5A";
case"[":
return"5B";
case""":
return"5C";
case"]":
return"5D";
case"↑":
return"5E";
case"←":
return"5F";
case"`":
return"60";
case"a":
return"61";
case"b":
return"62";
case"c":
return"63";
case"d":
return"64";
case"e":
return"65";
case"f":
return"66";
case"g":
return"67";
case"h":
return"68";
case"i":
return"69";
case"j":
return"6A";
case"k":
return"6B";
case"l":
return"6C";
case"m":
return"6D";
case"n":
return"6E";
case"o":
return"6F";
case"p":
return"70";
case"q":
return"71";
case"r":
return"72";
case"s":
return"73";
case"t":
return"74";
case"u":
return"75";
case"v":
return"76";
case"w":
return"77";
case"x":
return"78";
case"y":
return"79";
case"z":
return"7A";
case"{":
return"7B";
case"|":
return"7C";
case"}":
return"7D";
case"~":
return"7E";
case"DEL":
return"7F";
default:
return"";

}
}

Ⅷ java中,如何將double類型數據轉換為16進制字元串或者是16進制位元組數組

1、轉化為long類型

先Double.doubleToLongBits/Double.doubleToRawLongBits,得到long類型,

例子:

longl=0x0102030405060708L;

2、轉化為16進制字元串或數組

byte[]b=newbyte[8];
b[0]=(byte)(l&0x000000000000FFL);
b[1]=(byte)((l&0x0000000000FF00L)>>8);
b[2]=(byte)((l&0x0000000000FF0000L)>>16);
b[3]=(byte)((l&0x00000000FF000000L)>>24);
b[4]=(byte)((l&0x000000FF00000000L)>>32);
b[5]=(byte)((l&0x0000FF0000000000L)>>40);
b[6]=(byte)((l&0x00FF000000000000L)>>48);
b[7]=(byte)((l&0xFF00000000000000L)>>56);



熱點內容
mybatis的動態sql語句 發布:2025-07-02 10:56:51 瀏覽:957
速騰超越版14有哪些配置 發布:2025-07-02 10:49:02 瀏覽:657
安卓手機高刷在哪裡 發布:2025-07-02 10:43:02 瀏覽:342
愛奇藝iphone緩存 發布:2025-07-02 10:38:00 瀏覽:841
南方次元的解壓 發布:2025-07-02 10:31:32 瀏覽:246
葉祖新編程 發布:2025-07-02 10:29:06 瀏覽:400
k4在哪裡下載安卓 發布:2025-07-02 10:15:32 瀏覽:909
魔獸腳本破解版 發布:2025-07-02 10:15:30 瀏覽:995
鋒雲7800伺服器無網路怎麼辦 發布:2025-07-02 10:03:53 瀏覽:1000
安卓哪個版本可以安裝sd卡 發布:2025-07-02 09:58:09 瀏覽:984