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...
十六進位制數0x10000轉成十進位制數是多少
十六進位制數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 等...