1.十六進制數(shù)如何轉(zhuǎn)換成十進制
16進制數(shù)的第0位的權(quán)值為16的0次方,第1位的權(quán)值為16的1次方,第2位的權(quán)值為16的2次方…
所以,在第N(N從0開始)位上,如果是是數(shù) X (X 大于等于0,并且X小于等于 15,即:F)表示的大小為 X * 16的N次方。
進制轉(zhuǎn)換表:
例:2AF5換算成10進制:
用豎式計算:
第0位: 5 * 16^0 = 5
第1位: F * 16^1 = 240
第2位: A * 16^2= 2560
第3位: 2 * 16^3 = 8192
-------------------------------------
10997
直接計算就是:
5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997
擴展資料:
十六轉(zhuǎn)十的乘法口訣:
一峘一拾六
二峘三拾二
三峘四拾八
四峘六拾四
五峘八拾
六峘九拾六
七峘一百一拾二
八峘一百二拾八
九峘一百四十四
十峘一百六
屲峘一百七拾六
亗峘一百九拾二
岌峘二百零八
岄峘二百二拾四
岪峘二百四
參考資料: 百度百科—十六進制轉(zhuǎn)換
2.怎樣把十進制數(shù)字轉(zhuǎn)化為16進制
ox 表示數(shù)FFFF為16進制。
對應(yīng)關(guān)系:
10以上的數(shù)的對應(yīng)關(guān)系
A ------ 10
B ------ 11
C ------ 12
D ------ 13
E ------ 14
F ------ 15
從右到左,第一個F表示有15個1,第二個F表示有15個16,第三個F表示有15個256,第四個F表示有15個4096
權(quán)依次乘以16,就像10進制的權(quán)依次乘以10一樣。
所以
oxFFFF = 15*1 15*16 15*256 15*4096=65535
3.二進制數(shù)與十進制、十六進制換算
幾進制就是逢幾進一,如十進制,最常用的吧,每到十的時候就往前一位進一。
同理,二進制與十六進制也是這個道理。 16進制中,由于阿拉伯?dāng)?shù)字只有0-9的表示,因此需用大寫英文字母前六個(即A-E)來補充,其中的A=10,B=11,C=12,D=13,E=14,F=15。
至于十進制轉(zhuǎn)換為十六進制,就要用到除K(進制基數(shù))取余法,即樓上用到的方法。十進制化二進制也是如此。
例: 1.十進制168化為二進制: 168/2=84……0 84/2=42……0 42/2=21……0 21/2=10……1 10/2=5……0 5/2=2……1 2/2=1……0 1/2=0……1(注意:必須初到零) 所以168=10101000(2)(注:把余數(shù)倒著寫) 2.十進制168化為十六進制: 168/16=10……8 10/16=0……10(10=A) 因此168=A8(16)(同上) 如果要把它化回來呢? 樓上其實已經(jīng)指明了方法,如果不懂的話再詳講一遍: 例:1.16進制B3化為十進制: 因為B=11 所以B3(16)=11*16^1+3*16^0=179 2.二進制10010化為十進制: 10010(2)=1*2^4+0*2^3+0*2^2+1*2^1+0*2^0=18 看懂了不? 說白了,就是在第幾位(設(shè)為第N位)上就用這一位上的數(shù)乘上進制基數(shù)(設(shè)為K)的(N-1)次方。 二進制與十六進制怎么轉(zhuǎn)化,鄙人還沒學(xué)到,坦白地說,我也不會~~通用方法先化為十進制再轉(zhuǎn)化。
至于小數(shù)問題,我是這樣理解的,加減乘除四則混合運算在任何進制中都適用(可自己驗證,不再過多說明,方法:利用該進制中的數(shù)字進行四則混合運算,并遵循進位原則,得一個結(jié)果,再將它們{運算項}化為十進制進行計算,在化為原進制進制,你會發(fā)現(xiàn)結(jié)果是一樣的),因此(舉例說明):例:1.二進制11/10=1.1(2)11(2)=310(2)=2{不用多說了吧}3/2=1.5所以1.1(2)=1.52.二進制1/100=0.01(2)100(2)=41(2)=11/4=0.25所以0.01(2)=0.25這也就是說在二進制中的0.1就表示十進制中的0.5,在二進制中的0.01就表示十進制中的0.25,為什么呢?進一步分析:0.1在十進制中即為十分之一,0.01即為百分之一(十分之一的平方),0.001即為千分之一(十分之一的立方)……由此就可推知,在二進制中:0.1就為二分之一(二進制中就是10(2)分之一),0.01就為四分之一(二分之一的平方,二進制中就是10(2)分之一的平方),0.001就為八分之一(二分之一的立方,二進制中就是10(2)分之一的立方)……同理,十六進制的小數(shù)就不用我多說了吧?希望這些對你有幫助。(小數(shù)部分為我個人的理解,若有不對,敬請見諒。)
參考資料:補充以下,有些數(shù)字后半角括號內(nèi)的數(shù)字是進位制基數(shù)。十進制的均未標注。
4.怎么把十六進制的數(shù)字轉(zhuǎn)換為字符串
private static String hexString = "0123456789ABCDEF";
public static void main(String[] args) {
System.out.println(encode("中文"));
System.out.println(decode(encode("中文")));
}
/*
* 將字符串編碼成16進制數(shù)字,適用于所有字符(包括中文)
*/
public static String encode(String str) {
// 根據(jù)默認編碼獲取字節(jié)數(shù)組
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
// 將字節(jié)數(shù)組中每個字節(jié)拆解成2位16進制整數(shù)
for (int i = 0; i < bytes.length; i++) {
sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));
sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));
}
return sb.toString();
}
/*
* 將16進制數(shù)字解碼成字符串,適用于所有字符(包括中文)
*/
public static String decode(String bytes) {
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
// 將每2位16進制整數(shù)組裝成一個字節(jié)
for (int i = 0; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString
.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}
親測可行,支持中文?。?!
5.十進制數(shù)怎么轉(zhuǎn)換成16進制的數(shù)
最低0.27元/天開通百度文庫會員,可在文庫查看完整內(nèi)容> 原發(fā)布者:靈之變 就以60928轉(zhuǎn)化為0xee00為例為大家講一下十進制如何轉(zhuǎn)化為十六進制十六進制整數(shù)介紹以0X或0x為前綴,其后由0~9的數(shù)字和A~F(或a~f)的字母組成,無前綴0X或0x的十六進制整數(shù)是不合法的十六進制整數(shù)十進制轉(zhuǎn)十六進制思路直接用十進制數(shù)除以16求商取余,若余數(shù)是0~9的數(shù)字則直接保留,若余數(shù)是10~15的數(shù)字則依次對應(yīng)轉(zhuǎn)化為字母A~F(或a~f)。
之后再用上面的商除以16求商取余,以此類推,直至最后的商變成小于16的數(shù)字,最后再將余數(shù)由下至上排列并加上前綴0X(0x)即可。60928如何轉(zhuǎn)化為0xee00?60928/16=3808…03080/16=238…0238/16=14…14(e)14(e)上式余數(shù)由下到上排列→ee00最后加上前綴0x,60928就變?yōu)槭M制0xee00(也可以寫成0XEE00)十進制轉(zhuǎn)十六進制的第二種方法思路:現(xiàn)將十進制轉(zhuǎn)換為二進制,再將二進制每4位分為一組,最后再將分好組的每4位二進制數(shù)轉(zhuǎn)化為十六進制數(shù),并在前面補上0x(0X)即可。
2進制——16進制轉(zhuǎn)換表0--00001--00012--00103--00114--01005--01016--01107--01118--10009--1001A--1010B--1011C--1100D--1101E--1110F--111160928先轉(zhuǎn)換為二進制在轉(zhuǎn)換為十六進制的過程60928轉(zhuǎn)換為二進制→1110111000000000如上,將每4位分成一組的2進制數(shù)并轉(zhuǎn)換為相應(yīng)的16進制數(shù):1110→e1110→e0000→00。
6.數(shù)字換算16進制
200D=?H
寫出十六進制各位上基數(shù),個位是1,高位是低位乘以16,寫到比200大為止
256,16,1
__0,_c,8
200除以最高位基數(shù)得到商和余數(shù):200/256=0[200],將商寫到256這位下面
繼續(xù)用上步余數(shù)計算:200/16=12[8],將12=c寫到16這位下面
繼續(xù):8/1=8[0],計算直到余數(shù)為0停止,200D=c8H
同樣計算500D=?H
4096,256,16,1
___0,__1,_f,4
500/4096=0[500],500/256=1[244],244/16=15[4],4/1=4[0],500D=1f4H
先轉(zhuǎn)換整數(shù)部分999D=?H
4096,256,16,1
___0,__3,_e,7
999/4096=0[999],999/256=3[231],231/16=14[7],7/1=7[0],999D=3e7H
然后是小數(shù)部分,取小數(shù)部分0.99乘以16,得數(shù)的整數(shù)部分是小數(shù)點后第1位取值:0.99*16=15.84[3e7.f]
繼續(xù)用上步的小數(shù)計算:0.84*16=13.44[3e7.fd]
繼續(xù):0.44*16=7.04[3e7.fd7],計算直到達到指定位數(shù)或者小數(shù)部分等于0時停止,現(xiàn)假設(shè)只算到小數(shù)點后面第3位停止,999.99D=3e7.fd7H
7.二進制數(shù)值怎么樣轉(zhuǎn)換成十六進制數(shù)值
二進制數(shù)、八進制數(shù)、十六進制數(shù)轉(zhuǎn)十進制數(shù)
有一個公式:二進制數(shù)、八進制數(shù)、十六進制數(shù)的各位數(shù)字分別乖以各自的基數(shù)的(N-1)次方,其和相加之和便是相應(yīng)的十進制數(shù)。個位,N=1;十位,N=2。舉例:
110B=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6D
110Q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72D
110H=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272D
2、十進制數(shù)轉(zhuǎn)二進制數(shù)、八進制數(shù)、十六進制數(shù)
方法是相同的,即整數(shù)部分用除基取余的算法,小數(shù)部分用乘基取整的方法,然后將整數(shù)與小數(shù)部分拼接成一個數(shù)作為轉(zhuǎn)換的最后結(jié)果。
例:見四級指導(dǎo)16頁。
3、二進制數(shù)轉(zhuǎn)換成其它數(shù)據(jù)類型
3-1二進制轉(zhuǎn)八進制:從小數(shù)點位置開始,整數(shù)部分向左,小數(shù)部分向右,每三位二進制為一組用一位八進制的數(shù)字來表示,不足三位的用0補足,
就是一個相應(yīng)八進制數(shù)的表示。
010110.001100B=26.14Q
八進制轉(zhuǎn)二進制反之則可。
3-2二進制轉(zhuǎn)十進制:見1
3-3二進制轉(zhuǎn)十六進制:從小數(shù)點位置開始,整數(shù)部分向左,小數(shù)部分向右,每四位二進制為一組用一位十六進制的數(shù)字來表示,
不足四位的用0補足,就是一個相應(yīng)十六進制數(shù)的表示。
00100110.00010100B=26.14H
十進制轉(zhuǎn)各進制
要將十進制轉(zhuǎn)為各進制的方式,只需除以各進制的權(quán)值,取得其余數(shù),第一次的余數(shù)當(dāng)個位數(shù),第二次余數(shù)當(dāng)十位數(shù),其余依此類推,直到被除數(shù)小于權(quán)值,最后的被除數(shù)當(dāng)最高位數(shù)。
一、十進制轉(zhuǎn)二進制
如:55轉(zhuǎn)為二進制
2|55
27――1 個位
13――1 第二位
6――1 第三位
3――0 第四位
1――1 第五位
最后被除數(shù)1為第七位,即得110111
二、十進制轉(zhuǎn)八進制
如:5621轉(zhuǎn)為八進制
8|5621
702 ―― 5 第一位(個位)
87 ―― 6 第二位
10 ―― 7 第三位
1 ―― 2 第四位
最后得八進制數(shù):127658
三、十進制數(shù)十六進制
如:76521轉(zhuǎn)為十六進制
16|76521
4726 ――5 第一位(個位)
295 ――6 第二位
18 ――6 第三位
1 ―― 2 第四位
最后得1276516
二進制與十六進制的關(guān)系
2進制 0000 0001 0010 0011 0100 0101 0110 0111
16進制 0 1 2 3 4 5 6 7
2進制 1000 1001 1010 1011 1100 1101 1110 1111
16進制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)
可以用四位數(shù)的二進制數(shù)來代表一個16進制,如3A16 轉(zhuǎn)為二進制為:
3為0011,A 為1010,合并起來為00111010。可以將最左邊的0去掉得1110102
右要將二進制轉(zhuǎn)為16進制,只需將二進制的位數(shù)由右向左每四位一個單位分隔,將各單位對照出16進制的值即可。
二進制與八進制間的關(guān)系
二進制 000 001 010 011 100 101 110 111
八進制 0 1 2 3 4 5 6 7
二進制與八進制的關(guān)系類似于二進制與十六進制的關(guān)系,以八進制的各數(shù)為0到7,以三位二進制數(shù)來表示。如要將51028 轉(zhuǎn)為二進制,5為101,1為001,0為000,2為010,將這些數(shù)的二進制合并后為1010010000102,即是二進制的值。
若要將二進制轉(zhuǎn)為八進制,將二進制的位數(shù)由右向左每三位一個單位分隔,將事單位對照出八進制的值即可。
8.十進制小數(shù)轉(zhuǎn)換為十六進制怎么轉(zhuǎn)換啊
十進制小數(shù)轉(zhuǎn)R進制小數(shù),方法為乘R取整,每次乘以相應(yīng)之后基數(shù)后取結(jié)果的整數(shù)部分即可。需要注意的是并非所有的十進制小數(shù)都能完全轉(zhuǎn)化為R進制小數(shù),這時就需要取近似值。
比如這里的0.9032D轉(zhuǎn)化成16進制小數(shù)
0.9032*16=14.4512 取整數(shù)14 即E
0.4512*16=7.2192 取整數(shù)7
0.2192*16=3.5072 取整數(shù)3
0.5072*16=8.1152 取整數(shù)8
0.1152*16=1.8432 取整數(shù)1
。。。。
所以這個叔轉(zhuǎn)換成16進制就是0.E7381H
至于你說的 8后面應(yīng)該是有很多位的在這里 怎么只有3 位數(shù)??????
前面說了,并非所有的十進制小數(shù)都能完全轉(zhuǎn)化為R進制小數(shù),這時就需要取近似值
我們只是把后面的省略了,你想算還可以繼續(xù)往下面算。