1樓:天_痕
3*256+13*16+8*1=984。其中256是16的平方,16是16的1次方,1是16的0次方。d在十進位制裡是13。
演算法:將第n位乘以每一位的權重(就是16的n次方)然後加起來就是十進位制的結果,規定最右邊是第0位。
2樓:匿名使用者
解:說明:(1)十六進位制中,a=10,b=11,c=12,d=13,e=14,f=15.
(2)從右邊起最右一位起,記數單位分別為1,16,16²,...
(3)十六進位制化十進位制的方法對其它進位制(如二進位制)轉化為十進位制也適用。
十進位制數55536用十六進位制表示得多少
3樓:育知同創教育
0xd8f0
十六進位制數的表示方法?
4樓:再見十二班
5樓:扯淡丶懂不懂
十六進位制是計算機系統中除二進位制數之外使用較多的進位制,其遵循的兩個規則為:
其有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f等共十六個數碼,其分別對應於十進位制數的0~15;
十六進位制數的加減法的進/借位規則為:借一當十六,逢十六進一。
十六進位制數同二進位制數及十進位制數一樣,也可以寫成式的形式。
在數制使用時,常將各種數制用簡碼來表示:如十進位制數用d表示或省略;二進位制用b來表示;十六進位制數用h來表示。
如:十制數123表示為:123d或者123;二進位制數1011表示為:1011b;十六進位制數3a4表示為:3a4h。
十進位制數100,用十六進位制表示為多少
6樓:匿名使用者
將原始資料進行整數化:
(100.6875)10*(2^4)10
=(100.6875)10*(16)10
=(1611)10
=(64b)16
=(0110 0100 1011)2
=(011001001011)2
因為最初乘了16,即2的4次方,所以換算成二進位制時應右移4位,去掉前導零,
即(1100100.1011)2
-------
採用除基取餘法,基數為16,
1611/16,商100,餘11,即十六進位制數b100/16,商6,餘4
6/16,商0,餘6
從上到下依次是個位、十位、百位
所以,最終結果為(64b)16.
16進位制最大能表示10進位制數是多少?
7樓:
1個位元組:最大0xff = 255(儲存型別byte和char) 2個位元組:最大0xff ff = 65535(儲存型別shot int) 4個位元組:
最大0xff ff ff ff= 4294967295(儲存型別int 、long) 8個位元組:最大0xff ff ff ff ff ff ff ff= 18446744073709551615(儲存型別long long)
十六進位制(英文名稱:hexadecimal),是計算機中資料的一種表示方法。同我們日常生活中的表示法不一樣。
它由0-9,a-f組成,字母不區分大小寫。與10進位制的對應關係是:0-9對應0-9;a-f對應10-15;n進位制的數可以用0~(n-1)的數表示,超過9的用字母a-f。
中文名:十六進位制
外文名:hexadecimal
定義:計算機中資料的一種表示方法
組成:0-9,a-f
十六進位制的表示方法:十六進位制照樣採用位置計數法,位權是16為底的冪。對於n位整數,m位小數的十六進位制數用加權係數的形式表示如下:
舉例說明:
16進位制的20表示成10進位制就是:2×161+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,依次下算。
程式設計中,我們常用的還是10進位制.畢竟c/c++是高階語言。比如:
int a = 100,b = 99;
不過,由於資料在計算機中的表示,最終以二進位制的形式存在,所以有時候使用二進位制,可以更直觀地解決問題。但二進位制數太長了。比如int 型別佔用4個位元組,32位。
比如100,用int型別的二進位制數表達將是:
轉換二進位制轉換十進位制
二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方……
所以,設有一個二進位制數:101100100,轉換為10進製為:356
用橫式計算
0×20+0×21+1×22+0×23+0×24+1×25+1×26+0×27+1×28=356
0乘以多少都是0,所以我們也可以直接跳過值為0的位:
1×22+1×25+1×26+1×28=356
4+32+64+256 =356
八進位制轉換十進位制
八進位制就是逢8進1。
八進位制數採用 0~7這八數來表達一個數。
八進位制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……
所以,設有一個八進位制數:1507,轉換為十進位制為:839,具體方法如下:
可以用橫式直接計算:
7×80+0×81+5×82+1×83=839
也可以用豎式表示
第0位 7×80=7
第1位 0×81=0
第2位 5×82=320
第3位 1×83=512
十六進位制轉換十進位制
16進位制就是逢16進1,但我們只有0~9這十個數字,所以我們用a,b,c,d,e,f這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
十六進位制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……
所以,在第n(n從0開始)位上,如果是數β (β大於等於0,並且β小於等於 15,即:f)表示的大小為 β×16的n次方。
假設有一個十六進數 2af5
直接計算就是:
5×160+f×161+a×162+2×163=10997[1]
也可以用豎式表示:
第0位: 5×160=5
第1位: f×16^1=240
第2位: a×162=2560
第3位: 2×163=8192
此處可以看出,所有進位制換算成10進位制,關鍵在於各自的權值不同。
假設有人問你,十進數1234 為什麼是一千二百三十四?你儘可以給他這麼一個算式:
1234 = 1×103+2×102+3×101+4×100
十六進位制互相轉換
首先我們來看一個二進位制數:1111,它是多少呢?
你可能還要這樣計算:1×20+1×21+1×22+1×23=1×1+1×2+1×4+1×8=15。
然而,由於1111才4位,所以我們必須直接記住它每一位的權值,並且是從高位往低位記,:8、4、2、1。即,最高位的權值為23=8,然後依次是 22=4,21=2,20=1。
記住8421,對於任意一個4位的二進位制數,我們都可以很快算出它對應的10進位制值。
下面列出四位二進位制數 ***x 所有可能的值(中間略過部分)
僅4位的2進位制數 快速計算方法 十進位制值 十六進位制
1111 = 8 + 4 + 2 + 1 = 15 =f
1110 = 8 + 4 + 2 + 0 = 14= e
1101 = 8 + 4 + 0 + 1 = 13= d
1100 = 8 + 4 + 0 + 0 = 12 =c
1011 = 8 + 0 + 2 + 1 = 11= b
1010 = 8 + 0 + 2 + 0 = 10 =a
1001 = 8 + 0 + 0 + 1 =9 =9
0001 = 0 + 0 + 0 + 1 = 1= 1
0000 = 0 + 0 + 0 + 0 = 0= 0
二進位制數要轉換為十六進位制,就是以4位一段,分別轉換為十六進位制。
如(上行為二制數,下面為對應的十六進位制):
1111 1101 , 1010 0101 , 1001 1011
f d , a 5 , 9 b
反過來,當我們看到 fd時,如何迅速將它轉換為二進位制數呢?
先轉換f:
看到f,我們需知道它是15(可能你還不熟悉a~f這五個數),然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。
接著轉換d
看到d,知道它是13,13如何用8421湊呢?應該是:8 + 4 + 1,即:1101。
所以,fd轉換為二進位制數,為:1111 1101
由於十六進位制轉換成二進位制相當直接,所以,我們需要將一個十進位制數轉換成2進位制數時,也可以先轉換成16進位制,然後再轉換成2進位制。
比如,十進位制數 1234轉換成二制數,如果要一直除以2,直接得到2進位制數,需要計算較多次數。所以我們可以先除以16,得到16進位制數:
被除數 計算過程 商 餘數
1234 1234/16 77 2
77 77/16 4 13 (d)
4 4/16 0 4
結果16進製為:4d2
然後我們可直接寫出4d2的二進位制形式:
其中對映關係為:
0100 -- 4
1101 -- d
0010 -- 2
同樣,如果一個二進位制數很長,我們需要將它轉換成10進位制數時,除了前面學過的方法是,我們還可以先將這個二進位制轉換成16進位制,然後再轉換為10進位制。
下面舉例一個int型別的二進位制數:
我們按四位一組轉換為16進位制:6d e5 af 1b
十進位制轉十六進位制
採餘數定理分解,例如將487710轉成十六進位制:
487710÷16=30481....14(e)
30481÷16=1905....1
1905÷16=119....1
119÷16=7....7
7÷16=0....7
這樣就計到487710(10)=7711e(16)
表達方法
程式的表達方法環境 格式備註url%hex無 xml,xhtmlhex無html,css#hex6位,表示顏色unicodeu+hex6位,表示字元編碼mime=hex無modula-2#hex無smalltalk,algol 6816rhex無common lisp#xhex或#16rhex無ipv68個hex用:分隔無
c c++的表達方法
如果不使用特殊的書寫形式,16進位制數也會和10進位制相混。隨便一個數:9876,就看不出它是16進位制或10進位制。
c,c++規定,16進位制數必須以 0x開頭。比如 0x1表示一個16進位制數。而1則表示一個十進位制。
另外如:0xff,0xff,0x102a,等等。其中的x也不區分大小寫。
(注意:0x中的0是數字0,而不是字母o)
以下是一些用法示例:
int a = 0x100f;
int b = 0x70 + a;
至此,我們學完了所有進位制:10進位制,8進位制,16進位制數的表達方式。最後一點很重要,c/c++中,10進位制數有正負之分,比如12表示正12,而-12表示負12,;但8進位制和16進位制只能表達無符號的正整數,如果你在**中寫:
-078,或者寫:-0xf2,c,c++並不把它當成一個負數。
在轉義符中的使用
轉義符也可以接一個16進位制數來表示一個字元。如 \'?\' 字元,可以有以下表達方式:
\'?\' //直接輸入字元
\'\77\' //用八進位制,此時可以省略開頭的0
\'\0x3f\' //用十六進位制
同樣,這一小節只用於瞭解。除了空字元用八進位制數 \'\0\' 表示以外,我們很少用後兩種方法表示一個字元。
十進位制與十六進位制怎麼理解,十進位制數和十六進位制數怎麼轉換?
十進位制十進位制計數制由 0 1 2 3 4 5 6 7 8 9共 10個數字符號組成。相同數字符號在不同的數位上表示不同的數值,每個數位計滿十就向高位進一,即 逢十進一 如 1 9 10 滿10了,進1位 2 十六進位制 十六進位制由0 1 2 3 4 5 6 7 8 9 a b c d e f共...
十六進位制數ABCDEH是轉換為十進位制數怎麼轉
abcdef分別代表十六進位制的10,11,12,13,14,15.十進位制轉為十進位制,例如十六進位制的5a 5 16 10 1 這個16是16的一次方,1是16的零次方 80 10 90 十進位制的 16進位制化為10進位制,16進位制的個位數乘以16的零次方,十位數乘以16的一次方,百位數乘以...
十六進位制數1ab對應的十進位制數是
427a對應十進位制的10,b對應十進位制的11.1ab 1 16 2 10 16 1 11 16 0 427。也就是1乘以16的平方,10 對應a 乘以16的一次方,11 對應b 乘以16的零次方. 427計算方法 b 11 a 10x16 160 1 16x16 256 1ab 11 160 2...