1樓:天方夜譚的哆啦a夢
1、十六進位制的計數方法是滿16進1,所以十進位制數16在十六進位制中是10,而十進位制的17在十六進位制中是11,以此類推,十進位制的30在十六進位制中是1e。
2、輸入格式 ,輸入包含一個非負整數a,表示要轉換的數。0<=a<=2147483647。
3、輸出格式,輸出這個整數的16進製表示。
4、樣例輸出 ,1e:
#include
#include
#include
using namespace std;
int main() while (shi>=16);
if (shi<10)
ans += shi+'0';
else
ans += shi-10+'a';
for (int i=ans.length()-1; i>=0; i--)
cout 擴充套件資料 十六進位制轉換為十進位制 十六進位制數轉十進位制數方法:十六進位制數按權,從十六進位制數的右邊第一個數開始,每一個乘以16的n次方,n從0開始,每次遞增1。然後得出來的每個數相加即是十進位制數。 2樓:渾楣桖 我覺得最簡單的方法是直接轉16進位制: 1610/16=100……10(a); 100 /16= 6……4; 6 /16= 0……6; 故:1610(10)=64a(16) 因此,只需要把每次的餘數保留就是得到的結果,一直除到商為0。 要把1610轉換成16進位制,**如下: 3樓:匿名使用者 直接轉16進位制: 1610/16=100……10(a); 100 /16= 6……4; 6 /16= 0……6; 故:1610(10)=64a(16). 先轉2進位制: 1610/2=805……0; 805 /2=402……1; 402 /2=201……0; 201 /2=100……1; 100 /2=50 ……0; 50 /2=25 ……0; 25 /2=12 ……1; 12 /2=6 ……0; 6 /2=3 ……0; 3 /2=1 ……1; 1 /2=0 ……1. 1610(10)= 0110 0100 1010(2)1610(10)= 64a(16) 2進位制——16進位制轉換表; 0--0000 1--0001 2--0010 3--0011 4--0100 5--0101 6--0110 7--0111 8--1000 9--1001 a--1010 b--1011 c--1100 d--1101 e--1110 f--1111 4樓:校連枝顧俏 2進位制從最後一位開始(從右向左),把每一位數字分別乘以2^0,2^1,2^2,2^3...然後全部加起來就是對應的10進位制數了 2進位制轉成8進位制,從右向左,每三位一組隔開(最左邊那組可能不到3位),然後用計算10進位制的方法,計算每一組的三位二進位制數所對應的數字,然後把每一組的結果,從右向左寫出來,比如(110110)2進位制=(110|110)2進位制=(66)8進位制 2進位制轉成16進位制同上面類似,只是4位2進位制數一組,(110110)2進位制=(11|0110)2進位制=(36)16進位制 n進位制轉成10進位制的,從右向左,每一位分別乘以n^0,n^1,n^2,n^3...然後全部加起來就可以了 沒有1進位制的數,n進位制數,只要用相應的10進位制數短除n,反取餘數就行(短除,反取餘數,自己看相關書吧) 5樓:毓人 (1610)十=((((0*1010+1)*1010+110)*1010+1)*1010+0)二 =(((1*1010+110)*1010+1)*1010+0)二=(((1010+110)*1010+1)*1010+0)二=((10000*1010+1)*1010+0)二=((10100000+1)*1010+0)二=(10100001*1010+0)二 =(11001001010)二 =(110 0100 1010)二 =(64a)十六 6樓:敖潤達安雙 我從觸控式螢幕輸入十進位制數值,改變變頻器頻率,變頻器用modbus通訊,接收的是十六進位制數。比如:觸控式螢幕輸入500變頻器要接收的卻是01f4 檢視原帖》 十進位制轉化為十六進位制怎麼算 7樓:深圳俊竹科技**** 十進位制轉化為十六進位制計算方式,簡單說就是整數除以16取餘,直到商為0為止,然後從最後一個餘數讀到第一個 十六進位制轉化為十進位制計算方式,按權、相加即得十進位制數。 8樓:肥仙女 十進位制轉化為十六進位制**: #include "stdio.h" int main();printf("請輸入一個十進位制數:"); scanf("%d",&num); while(num>0) printf("轉化為十六進位制的數為:0x"); for(i=i-1;i>=0;i--)//倒序輸出 printf("\n"); }程式執行結果: 擴充套件資料:進位制轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。基數是指,進位計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。 位權是指,進位制中每一固定位置對應的單位值。 舉例:二進位制數轉換為十進位制數 二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方……所以,設有一個二進位制數:0110 0100,轉換為10進製為: 下面是豎式: 0110 0100 換算成十進位制 第0位 0 * 20 = 0 第1位 0 * 21 = 0 第2位 1 * 22 = 4 第3位 0 * 23 = 0 第4位 0 * 24 = 0 第5位 1 * 25 = 32 第6位 1 * 26 = 64 第7位 0 * 27 = 0 公式:第n位2(n) ---------------------------100用橫式計算為: 0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1* 26 + 0 * 27 = 100 0乘以多少都是0,所以我們也可以直接跳過值為0的位: 1 * 22 + 1 * 25 +1*26 = 100 9樓:匿名使用者 整數部分,就是指小數點前的位數,除以16取餘數,然後把所得數寫成得數+餘數; 小數點後的部分,要乘以16,依次寫出來就可以了例(91.875)這是十進位制的數轉換成十六進位制的就是(5b.e)91/16得5餘11就可以寫成5b 0.875*16得14就是e 10樓:匿名使用者 就是讓十進位制數除以16取餘,直到商為0為止,然後從最後一個餘數讀到第一個數(逆序),讀出來的十進位制數比如12就對應16進位制的c 11樓:匿名使用者 用十進位制的數除以 16,得出一個商和一個餘數,如果商大於 15,繼續用商除以 16,迴圈操作,一直除到商小於等於 15,再用商和餘數連起來,所得的數就是十六進位制的整數了。 12樓:匿名使用者 十進位制轉二進位制(整數及小數部分): 1、把該十進位制數,用二因式分解,取餘。 以235為例,轉為二進位制 235除以2得117,餘1 117除以2得58,餘1 58除以2得29,餘0 29除以2得14,餘1 14除以2得7,餘0 7除以2得3,餘1 3除以2得1,餘1 從得到的1開始寫起,餘數倒排,加在它後面,就可得11101011。 2、把十進位制中的小數部份,轉為二進位制。 把該小數不斷乘2,取整,直至沒有小數為止,注意不是所有小數都能轉為二進位制! 以0.75為例, 0.75剩以2得1.50,取整數1 0.50剩以2得1,取整數1,順序取數就可得0.11。 1、二進位制數、八進位制數、十六進位制數轉十進位制數 有一個公式:二進位制數、八進位制數、十六進位制數的各位數字分別乖以各自的基數的(n-1)次方,其和相加之和便是相應的十進位制數。個位,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、十進位制數轉二進位制數、八進位制數、十六進位制數 方法是相同的,即整數部分用除基取餘的演算法,小數部分用乘基取整的方法,然後將整數與小數部分拼接成一個數作為轉換的最後結果。 例:見四級指導16頁。 3、二進位制數轉換成其它資料型別 3-1二進位制轉八進位制: 從小數點位置開始,整數部分向左,小數部分向右,每三位二進位制為一組用一位八進位制的數字來表示,不足三位的用0補足, 就是一個相應八進位制數的表示。 010110.001100b=26.14q 八進位制轉二進位制反之則可。 3-2二進位制轉十進位制: 見1 3-3二進位制轉十六進位制: 從小數點位置開始,整數部分向左,小數部分向右,每四位二進位制為一組用一位十六進位制的數字來表示, 不足四位的用0補足,就是一個相應十六進位制數的表示。 00100110.00010100b=26.14h 十進位制轉各進位制 要將十進位制轉為各進位制的方式,只需除以各進位制的權值,取得其餘數,第一次的餘數當個位數,第二次餘數當十位數,其餘依此類推,直到被除數小於權值,最後的被除數當最高位數。 一、十進位制轉二進位制 如:55轉為二進位制 2|55 27――1 個位 13――1 第二位 6――1 第三位 3――0 第四位 1――1 第五位 最後被除數1為第七位,即得110111 二、十進位制轉八進位制 如:5621轉為八進位制 8|5621 702 ―― 5 第一位(個位) 87 ―― 6 第二位 10 ―― 7 第三位 1 ―― 2 第四位 最後得八進位制數:12765 三、十進位制數十六進位制 如:76521轉為十六進位制 16|76521 4782 ――9 第一位(個位) 298 ――14 即 e 第二位 18 ――10 即 a 第三位 1 ―― 2 第四位 最後得12ae9 二進位制與十六進位制的關係 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) 可以用四位數的二進位制數來代表一個16進位制,如3a16 轉為二進位制為: 3為0011,a 為1010,合併起來為00111010。可以將最左邊的0去掉得1110102 右要將二進位制轉為16進位制,只需將二進位制的位數由右向左每四位一個單位分隔,將各單位對照出16進位制的值即可。 二進位制與八進位制間的關係 二進位制 000 001 010 011 100 101 110 111 八進位制 0 1 2 3 4 5 6 7 二進位制與八進位制的關係類似於二進位制與十六進位制的關係,以八進位制的各數為0到7,以三位二進位制數來表示。如要將51028 轉為二進位制,5為101,1為001,0為000,2為010,將這些數的二進位制合併後為1010010000102,即是二進位制的值。 若要將二進位制轉為八進位制,將二進位制的位數由右向左每三位一個單位分隔,將事單位對照出八進位制的值即可。 r進位制 r為任何整數 轉換為十進位制的方法是 整數部分從小數點右往左依次按位乘以r的0次冪,r的1次冪,r的2次冪,小數部分從小數點後向右依次按位乘以r的 1次冪,r的 2次冪,r的 3次冪,將各位結果相加即可。所以 10 1101 0110 1011.11 2 2 13 2 11 2 10 2 ... 16進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方 所以,在第n n從0開始 位上,如果是是數 x x 大於等於0,並且x小於等於 15,即 f 表示的大小為 x 16的n次方。進位制轉換表 例 2af5換算成10進位制 用豎式計算 第0位 5 16 0... 十六進位制數copy0x10000轉成十進位制數是65536,0x是十六進位制數的前導符,0x10000表示,這是一個十六進位制數,數值為10000。轉換方法 10000 十六進位制 1 x 164 0 x 163 0 x 162 0 x 161 0 x 16 0 65536 十進位制 在c c 等...二轉十進位制,二進位制轉十進位制公式
十六進位制數如何轉換成十進位制,十六進位制轉換成十進位制的具體演算法?
十六進位制數0x10000轉成十進位制數是多少