java轉十六進制
A. java十進制怎麼轉十六進制
查jdk文檔,可來以發現在long類裡面有這自些方法
static String toBinaryString(long i)
以二進制無符號整數形式返回 long 參數的字元串表示形式。
static String toHexString(long i)
以十六進制無符號整數形式返回 long 參數的字元串表示形式。
static String toOctalString(long i)
以八進制無符號整數形式返回 long 參數的字元串表示形式。
如果你自己要寫一個程序 實現這個功能,
就是將數字除16取余。。。
B. Java 10進制轉16進制
public class PrintHex {
// 備選字元
static final char digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'A', 'B', 'C', 'D', 'E', 'F'};
public static void main(String[] args) {
int Num = 64;//要轉換的數版字
int length =32;
char[] result = new char[length];
do{
result[--length]=digits[Num&15];
Num>>>=4;
}while(Num!權=0);
for (int i = length; i < result.length; i++) {
System.out.println(result[i]);
}
}
}
C. java 二進制轉16進制
方法1:
中判斷mp.length()==1 是判斷轉換為16進制數後如果是一位數就要在前面補零湊夠兩位數,從byte數組中一個一個轉換後從前往後拼的字元串,如果是一位數就提前補零然後加上轉換得到的個位數.
方法2:
中十進制要轉換成16進制,如果小於16說明轉換後就一位數,(比如15=0E)需要在前面補零湊夠二位數,大於16就是二位數
至於為什麼要分組,保持位數一致吧,就像月份和時間,一位數的時候都會前面補零湊位數的.整齊規范.
D. java的十進制怎麼轉為十六進制
查jdk文檔,可以發現在long類裡面有這些方法
static String toBinaryString(long i)
以二進制無符號整數形式返回版 long 參數的字元串表示權形式。
static String toHexString(long i)
以十六進制無符號整數形式返回 long 參數的字元串表示形式。
static String toOctalString(long i)
以八進制無符號整數形式返回 long 參數的字元串表示形式。
如果你自己要寫一個程序 實現這個功能,
就是將數字除16取余。。。
E. 用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));
}
}
F. Java 16進制字元串轉化成十六進制數字
沒懂啥意思,可以先將字元串轉化為整型,後面有需要了,再將整型轉化為專16進制的數字屬
intparseInt=Integer.parseInt("cc",16);
System.out.println(parseInt);
StringhexString=Integer.toHexString(parseInt);
System.out.println(hexString);
G. java十進制轉十六進制 0x格式
運行結果:
publicclassApp62{
publicstaticvoidmain(String[]args){
Strings=String.format("0x%02x%02x%04x",15,1,1);
System.out.println(s);
}
}
H. 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();//輸出
}
}
I. 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進制字元串,希望能幫到你。
J. java中怎麼將十進制轉換為十六進制
用除商取余法
用十進制數除以16 記錄下商和余數
然後繼續用商去除以16記錄下商和余數回,直答到商為0
最後將余數逆序排列就可以了
比如十進制數33轉為十六進制
33/16=2 餘1
2/16=0 餘2
結果就是0x 21(十六進制以0x開頭)