1樓:修者世界
0.31175(10)=0.4fced916872b04(16)
十進位制轉化為十六進位制怎麼算
2樓:深圳俊竹科技****
十進位制轉化為十六進位制計算方式,簡單說就是整數除以16取餘,直到商為0為止,然後從最後一個餘數讀到第一個
十六進位制轉化為十進位制計算方式,按權、相加即得十進位制數。
3樓:肥仙女
十進位制轉化為十六進位制**:
#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
4樓:匿名使用者
整數部分,就是指小數點前的位數,除以16取餘數,然後把所得數寫成得數+餘數;
小數點後的部分,要乘以16,依次寫出來就可以了例(91.875)這是十進位制的數轉換成十六進位制的就是(5b.e)91/16得5餘11就可以寫成5b
0.875*16得14就是e
5樓:匿名使用者
就是讓十進位制數除以16取餘,直到商為0為止,然後從最後一個餘數讀到第一個數(逆序),讀出來的十進位制數比如12就對應16進位制的c
6樓:匿名使用者
用十進位制的數除以 16,得出一個商和一個餘數,如果商大於 15,繼續用商除以 16,迴圈操作,一直除到商小於等於 15,再用商和餘數連起來,所得的數就是十六進位制的整數了。
7樓:匿名使用者
十進位制轉二進位制(整數及小數部分):
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,即是二進位制的值。
若要將二進位制轉為八進位制,將二進位制的位數由右向左每三位一個單位分隔,將事單位對照出八進位制的值即可。
十進位制小數轉換為十六進位制怎麼轉換啊
8樓:匿名使用者
十進位制小數轉r進位制小數,方法為乘r取整,每次乘以相應之後基數後取結果的整數部分即可。需要注意的是並非所有的十進位制小數都能完全轉化為r進位制小數,這時就需要取近似值。
比如這裡的0.9032d轉化成16進位制小數0.9032*16=14.
4512 取整數14 即e0.4512*16=7.2192 取整數70.
2192*16=3.5072 取整數30.5072*16=8.
1152 取整數80.1152*16=1.8432 取整數1。。。。。。
所以這個叔轉換成16進位制就是0.e7381h至於你說的 8後面應該是有很多位的在這裡 怎麼只有3 位數??????
前面說了,並非所有的十進位制小數都能完全轉化為r進位制小數,這時就需要取近似值
我們只是把後面的省略了,你想算還可以繼續往下面算。。
小數的十進位制轉換成十六進位制(如圖),怎麼轉換?
9樓:愛軍
十六進位制的整數, 表示每十六才進一位. 十進位制是, 每十, 進一位,所以, 整數部分, 可以用,(/16), 從個位十位往上求, 將數字逐次除以16,餘數為, 每一位結果。
小數部分, 因為是未滿16, 所以應該用乘法(x16), 從小數點下第一, 第二位, 將小數逐次乘以16.
整數為, 每一位的結果.
小數的十進位制轉換成十六進位制的方法:
十進位制小數轉r進位制小數,方法為乘r取整,每次乘以相應之後基數後取結果的整數部分即可。需要注意的是並非所有的十進位制小數都能完全轉化為r進位制小數,這時就需要取近似值。比如這裡的0.
9032d轉化成16進位制小數
0.9032*16=14.4512 取整數14 即e
0.4512*16=7.2192 取整數7
0.2192*16=3.5072 取整數3
0.5072*16=8.1152 取整數8
0.1152*16=1.8432 取整數1
。。。。。。
所以這個叔轉換成16進位制就是0.e7381h,至於你說的 8後面應該是有很多位的在這裡 怎麼只有3 位數? 前面說了,並非所有的十進位制小數都能完全轉化為r進位制小數,這時就需要取近似值,我們只是把後面的省略了,你想算還可以繼續往下面算。
小數的十進位制轉化成十六進位制
10樓:雜貨軒
小數的十進位制轉換成十六進位制的方法:
十進位制小數轉n進位制小數,方法為乘n取整,每次乘以相應之後基數後取結果的整數部分即可。需要注意的是並非所有的十進位制小數都能完全轉化為n進位制小數,這時就需要取近似值。比如這裡的0.
9032轉化成16進位制小數
0.9032*16=14.4512 取整數14 即可。
十六進位制(英文名稱:hexadecimal),是計算機中資料的一種表示方法。同我們日常生活中的表示法不一樣。
它由0-9,a-f組成,字母不區分大小寫。與10進位制的對應關係是:0-9對應0-9;a-f對應10-15;n進位制的數可以用0~(n-1)的數表示,超過9的用字母a-f。
十六進位制照樣採用位置計數法,位權是16為底的冪。對於n位整數,m位小數的十六進位制數用加權係數的形式表示如下:
16進位制的20表示成10進位制就是:2×16¹+0×16º=32
10進位制的32表示成16進位制就是:20
十進位制數可以轉換成十六進位制數的方法是:十進位制數的整數部分「除以16取餘」,十進位制數的小數部分「乘16取整」,進行轉換。
比如說十進位制的0.1轉換成八進位制為0.0631463146314631。
就是0.1乘以8=0.8,不足1不取整,0.
8乘以8=6.4,取整數6, 0.4乘以8=3.
2,取整數3,依次下算。
十進位制轉十六進位制,十進位制轉化為十六進位制怎麼算
1 十六進位制的計數方法是滿16進1,所以十進位制數16在十六進位制中是10,而十進位制的17在十六進位制中是11,以此類推,十進位制的30在十六進位制中是1e。2 輸入格式 輸入包含一個非負整數a,表示要轉換的數。0 a 2147483647。3 輸出格式,輸出這個整數的16進製表示。4 樣例輸出...
FORTRAN如何把十進位制檔案轉化為二進位制檔案
如果是end of file encountered的錯誤,我猜是樓主的morlet.txt資料不夠,應該有1296行資料,樓主可以檢查一下是不是不夠。另外還有一個問題,樓主把資料按二進位制輸出時,open 2,file d morlet.dat form binary access direct ...
十六進位制數bbbh轉化為十進位制數是多少呢過程
3003 十六進位制 英文名稱 hexadecimal 是計算機中資料的一種表示方法。十六進位制照樣採用位置計數法,位權是16為底的冪。為了區別不同數製表示的數,通常用右括另外下標數字或字母表示數制,十進位制數用d表示,二進位制用b表示,十六進位制數用h表示,八進位制用o表示。十六進位制轉換成十進位...