✔ 最佳答案
1.) 將3424818十進制數轉為十六進制
轉換十進制數成十六進制數:用短除法,不斷除16並寫出餘數;
將商和餘數從下到上寫出。例如,十進制數3424818轉換成十六進制的做法如下:
16)_3424818_ 餘數
16)_214051_…………2
16)_13378__…………3
16)___836___ ………2
16)___52____ ………4
3 ………4
= 344232 (16)
2.) 將4919十進制數轉為十六進制
轉換十進制數成十六進制數:用短除法,不斷除16並寫出餘數;
將商和餘數從下到上寫出。例如,十進制數4919轉換成十六進制的做法如下:
16)_4919_ 餘數
16)_307_…………7
16)__19__…………3
1 ………3
= 1337(16)
--------------------------------------------------------------------------------------------------
在十六進制當中:
0+16=10, 16*2=20, 16*3=30, 16*4=40, 16*5=50,
16*6=60, 16*7=70, 16*8=80, 16*9=90, 16*10=100
全部是錯的(第一部分會說明),而應該是:
0+16=16, 16*2=2C, 16*3=42, 16*4=58, 16*5=6E,
16*6=84, 16*7=9A, 16*8=B0, 16*9=C6, 16*10=160
問題在於不同進制當中的表達方式……
(進制數目稱為基數/radix/base)
就算你自己或其他人都看得明,想得通,表達都應該統一和清晰。
在十六進制中,16就是16,不過代表十進制中的22;
在十進制中,16就是16,不過代表十六進制中的10;
基數為十六的16(即十六進制中的16),與基數為十的16不同,;
我們不可胡亂混合各種進制而沒有標明,
如「16+16=26=38=53」,
原來第一個16是十六進制、第二個16是十進制、26是十六進制、38是十進制、53是七進制……
這樣混亂得很,我們會看不明白……
所以我們要清楚進制的表達方式。
----------------------------------------第一部分----------------------------------------
當開首已經標明採用的進制,則代表之後的 所有計算 均預設為該進制,
所有數字應統一採用該進制,除非數字再有特別標明(第二部分會說明)。
例如「在十六進制中,16*2=2C」:計算中的預設進制為十六進制
「16」是十六進制的「16」,代表十進制中的「22」;
「2」是十六進制的「2」,代表十進制中的「2」;
「2C」是十六進制的「2C」,代表十進制中的「44」;
所以「在十六進制中,16*2=2C」等同於「在十進制中,22*2=44」。
當然,現在人類的預設進制為十進制,平時計算不需寫「在十進制中」。
「在十六進制當中,0+16=10」這表達是錯的,因為當中的「16」是十進制而不是十六進制。
----------------------------------------第二部分----------------------------------------
當計算中需要混合不同的進制,數字要標明進制(為了容易理解,預設進制也應標明):
(a)在數字後下標基數,即在數字右下細寫基數,
其中進制數目應以預設進制表示
(這方法比較常用,但在這裡我做不到,所以可用另一種方法)
(b)在數字後括著進制的英文縮寫
十六進制=hex、十進制=dec、八進制=oct、二進制=bin
(這方法的壞處是會忘了其他進制的英文縮寫……我真的不記得)
例如:0+16=16=10(hex) (預設進制沒有標明因為混淆很低)
1(hex)+16(dec)=11(hex)=17(dec)
在十六進制中,1+16=17=23(dec)
16(dec)*10(hex)=100(hex)
16(dec)*10(dec)=A0(hex)
--------------------------------------------------------------------------------------------------
最後,你要記得,當各數字採用不同的進制,各數字的基數應該標明。
或者可以想清楚會否引起分歧(whether it is ambiguous)及錯誤,
就算你自己甚至其他人都看得明,若會,則標明吧,
簡單如「在十六進制中,10=A」或「在十六進制中,A=10」,都應盡早改了。