创建博客 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

chunwaihome 的博客

 
 
 

日志

 
 

二進制、十進制、十六進制快速轉換  

2009-09-04 15:19:42|  分类: 系統工具 |  标签: |举报 |字号 订阅

  • 各進制的定義

2進制,用兩個阿拉伯數字:0、1;現代的電子計算機技術全部採用的是二進制,因為它只使用0、1兩個數字符號,非常簡單方便,易於用電子方式實現。

8制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;

10進制,用十個阿拉伯數字:0到9;

16進制,16進制就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15 。字母不區分大小寫。

 

  • 十進制數轉成二進制數


十進制轉二進制的方法是將十進制數目除2一直分解至商數為1。然後從最底左邊數字開始讀,之後讀右邊的數字,從下讀到上。例子:將59(10) 轉成二進制

59 ÷ 2 = 29 ... 1
29 ÷ 2 = 14 ... 1
14 ÷ 2 =  7 ... 0
 7 ÷ 2 =  3 ... 1
 3 ÷ 2 =  1 ... 1

59(10) = 111011(2)

  •  二進制數轉換為十進制數

例子將111011(2)二進制轉換算成十進制,首先將最右边值乘20,  然後21, 22...........

1* 20 + 1 * 21 + 0 * 22 + 1 * 23 + 1 * 24 + 1 * 25  = 59

  •  十六進制數轉換成十進制數

十六進制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……

 用豎式計算:

將2AF5換算成10進制:

第0位: 5 * 160 = 5

第1位: F * 161 = 240                ;F在十六進制裏表示15

第2位: A * 162 = 2560              ;A在十六進制裏表示10

第3位: 2 * 163 = 8192

5+240+2560+8192 = 10997         ;得出十進制結果是10997

  •  十進制數轉換成十六進制數

十進制轉十六進制的方法和轉二進的方法很相似。將十進制數目除16一直分解至商數為1。然後從最底左邊數字開始讀,之後讀右邊的數字,從下讀到上。

例子1:將十進制的10997轉為十六進制

10997 ÷ 16     = 687 ... 5

687 ÷ 16       = 42......15(F)

42 ÷ 16         = 2.......10(A)

2 ÷ 16          =0 .........2

 從最底的左邊位置開始讀,之後讀右邊的數字,從下讀到上。結果就是2AF5

例子2:將十進制97轉為十六進制

97 ÷ 16     = 6 ... 1

 6 ÷ 16      = 0.....6

 從最底的左邊位置開始讀,之後讀右邊的數字,從下讀到上。結果就是61

  • 速計算方法 二進制值、十進制值、 十六進值

由於二進制1111才4位,所以我們必須直接記住它每一位的權值,並且是從高位往低位記,:8、4、2、1。即,最高位的權值為23 = 8,然後依次是 22 = 4,21=2, 20 = 1。

記住8421,對於任意一個4位的二進制數,我們都可以很快算出它對應的10進制值。

下面列出四位二進制數 xxxx 所有可能的值(中間略過部分)

僅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

二進數轉成十六進數

 十六進制(簡寫為hex或下標16)在數學中是一種逢16進1的進位制,一般用數字0到9和字母A到F表示(其中:A~F即10~15)。

例如十進制數79,在二進制寫作01001111,在16進制寫作4F(4 = 0100, F = 1111)。這面是另一個例子

10進制數1028,在二進制寫作 0100 0000 0100,在16進制寫作404,由此例中我們可以看出二進制和十六制數相互是十分容易的,但無論將十進制轉成二進制或十六進制,或者由二進制或十六進制都是十分困難的。

0hex = 0dec = 0oct 0 0 0 0
1hex = 1dec = 1oct 0 0 0 1
2hex = 2dec = 2oct 0 0 1 0
3hex = 3dec = 3oct 0 0 1 1
4hex = 4dec = 4oct 0 1 0 0
5hex = 5dec = 5oct 0 1 0 1
6hex = 6dec = 6oct 0 1 1 0
7hex = 7dec = 7oct 0 1 1 1
8hex = 8dec = 10oct 1 0 0 0
9hex = 9dec = 11oct 1 0 0 1
Ahex = 10dec = 12oct 1 0 1 0
Bhex = 11dec = 13oct 1 0 1 1
Chex = 12dec = 14oct 1 1 0 0
Dhex = 13dec = 15oct 1 1 0 1
Ehex = 14dec = 16oct 1 1 1 0
Fhex = 15dec = 17oct 1 1 1 1

 如果將二進制轉成16進制,看上圖對查表會比較容易

e.g. 將111011(2)轉換十六進制是3B,首先將111011"由右到左"分為分為二組,每組為四個數,第一組是111011數字的最後四個數字1011,第二組是0011(如果不夠不位數字的話,在左邊補零)。

第一組:1011             

第二組:0011

 首先我們將二進制1011用8 4 2 1口缺快速地轉為十進制的數字是11(8+0+2+1),11就是十六進制的B了,

利用同樣的方法將第二組的0011快速地轉為十進制的3(0+0+2+1),最後兩組得出的十六進制結果是3B

  • 將十進制快速地轉為二進制

首先運用powerpro的Win.hex()函數將十進制轉為十六進制的, 比如執行s = win.hex(79)命令將十進制的79轉為十六進的值,s所得出的結果是4F。運用8 4 2 1 的口缺首先將4F分為二組,第一組是十六進制的F,十進制是15,二進制就是1111(8+4++2+1),第二組是十六進制的4,十進制的4,二進制就是0010( 0+0+1+0)。

 

  • 運用windows的計算機作快速進制轉換

在開始-->運行窗口輸入calc打開系統計算機功能,點擊檢視欄選工程型,你可以在十進制的選項中輸入79,然後點擊二進制按鈕,它會自動將79轉為0100 111

二進制、十進制、十六進制快速轉換 - Y偉 - chunwaihome 的博客

 
  评论这张
 
阅读(8020)| 评论(0)
|      
推荐 转载

历史上的今天

最近读者

热度

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2014