rawtohex 電腦編程,二進(jìn)制、八進(jìn)制、十六進(jìn)制分別怎么算?
電腦編程,二進(jìn)制、八進(jìn)制、十六進(jìn)制分別怎么算?二進(jìn)制進(jìn)八進(jìn)制需要先記憶對(duì)應(yīng)關(guān)系:二進(jìn)制000對(duì)應(yīng)八進(jìn)制0二進(jìn)制 八進(jìn)制000 0001
電腦編程,二進(jìn)制、八進(jìn)制、十六進(jìn)制分別怎么算?
二進(jìn)制進(jìn)八進(jìn)制需要先記憶對(duì)應(yīng)關(guān)系:二進(jìn)制000對(duì)應(yīng)八進(jìn)制0
二進(jìn)制 八進(jìn)制
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
二進(jìn)制轉(zhuǎn)化為八進(jìn)制的方法是,取三合一法,即從二進(jìn)制的小數(shù)點(diǎn)為分界點(diǎn),向左(或向右)每三位取一位,如下題所示:
010100.011101二進(jìn)制數(shù),每三位一組進(jìn)行分組如下
010 100 . 011 101
分組以后,對(duì)照二進(jìn)制與八進(jìn)制的對(duì)應(yīng)關(guān)系,將三位二進(jìn)制寫出,即得到八進(jìn)制數(shù),小數(shù)點(diǎn)的位置不變。
上面的010對(duì)應(yīng)2;100對(duì)應(yīng)4;011對(duì)應(yīng)3;101對(duì)應(yīng)5。
二進(jìn)制數(shù):010100.011101轉(zhuǎn)化為八進(jìn)制為24.35。
二進(jìn)制轉(zhuǎn)化為十六進(jìn)制則是四位數(shù)一組
數(shù)位不夠用0部位(在最左或最右)
java中如何將byte[]里面的數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制?
/* * * Convert byte[] to hex string.這里我們可以將byte轉(zhuǎn)換成int,然后利用Integer.toHexString(int) *來(lái)轉(zhuǎn)換成16進(jìn)制字符串。 * @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[]轉(zhuǎn)化成16進(jìn)制字符串,希望能幫到你。