靈魂-放水

          為學(xué)日益,為道日損。

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

          1. 二進制數(shù)與十進制數(shù)之間的轉(zhuǎn)換

          ⑴二進制數(shù)轉(zhuǎn)換成十進制數(shù) 

          [](11111001001)2=1×210+1×29+1×28+1×27+1×26+0×25+0×24

                            +1×23+0×22+0×21+1×20

                             =(1993)10

          (1011.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3  =(11.625)10

          ⑵十進制數(shù)轉(zhuǎn)換成二進制數(shù) 

          ①十進制整數(shù)轉(zhuǎn)換成二進制整數(shù)(除基(2)取余法)

          []

          2   1993

             2   996               …………1…………0     低位二進制整數(shù)

            2   498              …………0…………1   

            2   249             …………0…………2

            2   124            …………1…………3

             2   62            …………0…………4

            2   31           …………0…………5

            2   15          …………1…………6

            2   7          …………1…………7

            2   3         …………1…………8

            2   1        …………1…………9

             0        …………1…………10     高位二進制整數(shù)

          注意,除到0商時結(jié)束2除步,回寫(從高位回到低位)余數(shù)便是所求二進制數(shù),:(1993)10=(11111001001)2

          ②十進制純小數(shù)轉(zhuǎn)換成二進制純小數(shù)(乘基(2)取整法)

          []

                                          0.625

                                              2

                            2-1位…  1.  250         高位二進制小數(shù)

                                              2

                            2-2位…   0. 500

                                              2

                            2-3       1.000         低位二進制小數(shù)

          純小數(shù)位被全乘為0,得準確二進制純小數(shù);否則(純小數(shù)位永遠被2乘不為全是0)只能化成滿足某一精確度要求的二進制小數(shù)的近似值。例中(0.625)10=(0.101)2是準確值,其中101是順寫的積整位(從高位到低位)數(shù)。

          2. 二進制數(shù)與八進制數(shù)之間的轉(zhuǎn)換

          ⑴二進制數(shù)轉(zhuǎn)換成八進制數(shù)(三位分組轉(zhuǎn)換法,即合三為一法) 

          []將二進制數(shù)11010001011.11011用三位分組轉(zhuǎn)換的方法轉(zhuǎn)換成八進制數(shù)。

          ①從小數(shù)點起對整數(shù)位向左,對小數(shù)位向右三位分一組,不足三位時,在最外端加補0,使之都成為三位:

          (填入0)0011 010 001 011.110 1100(填入0)

          ②將三位一組二進制數(shù)分別轉(zhuǎn)換成八進制數(shù),并按原位置次序?qū)懗尚碌挠洈?shù)數(shù),即得與原數(shù)等值的八進制數(shù):3213.66

          ③從而有:(11010001011.11011)2=(3213.66)8

          所以這樣做,是因為八進制數(shù)的不同數(shù)字恰是8個三位二進制數(shù)。

          ⑵八進制數(shù)轉(zhuǎn)換成二進制數(shù) 

          將八進制數(shù)轉(zhuǎn)換成二進制數(shù)時,正是上述方法的逆(一分為三法)。只是注意要在轉(zhuǎn)換成二進制數(shù)后,將相當于被加補的0位上的那些0略去,這些0在二進制記數(shù)中是可有可無的,它們并不影響記數(shù)值。

          [](3213.66)8=(011 010 001 011.110 110)2=(11010001011.11011)2

          八進制數(shù)與十進制數(shù)之間的轉(zhuǎn)換,我們至少可以這樣做:

          ①通過二進制數(shù)作中間過渡,將它們互轉(zhuǎn):

          (17)10=(10001)2=(010 001)2=(21)8

          ②用“除基(8)取余法”將十進制整數(shù)轉(zhuǎn)換成八進制整數(shù),用“乘基(8)取整法“將十進制純小數(shù)轉(zhuǎn)換成八進制純小數(shù);至于將八進制數(shù)轉(zhuǎn)換成十進制數(shù),只要“按位乘基冪”即可:

          []   ①由 8  17                 ②∵     0.6875

                                                             8

                       8  2……1(低位)        (高位)  5. 500

                           0                               8

                            ……2(高位)        (低位)   4.0000

                      (17)10=(21)8                (0.6875)10=(0.54)8

          ③于是,(17.6875)10=(21.54)8

          ④而(21.54)8=2×81+1×80+5×8-1+4×8-2(按位乘基冪)

                   =16+1+5×0.125+4×0.015625=(17.6875)10

          3. 二進制數(shù)與十六進制數(shù)之間的轉(zhuǎn)換

          ⑴二進制數(shù)轉(zhuǎn)換成十六進制數(shù)(四位分組轉(zhuǎn)換法,即合四為一法) 

          [](101101111100011.110101111)2=(0101 1011 1110 0011.1101 0111 1000)2

                                      =(5BE3.D78)16

          ⑵十六進制數(shù)轉(zhuǎn)換成二進制數(shù)(四位分組轉(zhuǎn)換法的逆方法,即一分為四法) 

          [](5BE3.D78)16=(0101 1011 1110 0011.1101 0111 1000)2

                        =(101101111100011.110101111)2

          十六進制數(shù)與十進制數(shù)之間的轉(zhuǎn)換和八進制數(shù)與十進制數(shù)之間的轉(zhuǎn)換的方法完全相同,對基16操作起來也很容易,這里就不再贅述了。

          需要強調(diào)的是:計算機能夠處理的任何信息,其數(shù)據(jù)形式在計算機內(nèi)部都以01的方式進行存儲。任何信息要想存入計算機,都必須經(jīng)過一個轉(zhuǎn)換裝置,先把計算機要處理的信息轉(zhuǎn)換成僅由01組成的二進制代碼之后再存入計算機。要把存儲于計算機內(nèi)的各種信息輸出來,也必須再經(jīng)過轉(zhuǎn)換裝置把二進制信息轉(zhuǎn)換成人們所熟悉的和常用的符號。這些工作是由計算機自動完成的,并不需要用戶干預(yù)。

          計算機所能處理和存儲的信息是大量的,其軟件系統(tǒng)要適應(yīng)發(fā)展的需要,對表示信息的二進制數(shù)碼(代碼)必須進行統(tǒng)一的編碼,以保證計算機的通用性,否則就會造成在互換和交流時的混亂。

          通常,將十進制數(shù)字、英文字母和一些專用符號等數(shù)據(jù)都用一定長度的二進制數(shù)來表示,稱作編碼;用編碼表示的數(shù)據(jù)就稱代碼。使用計算機時,程序、控制命令、數(shù)據(jù)等在其內(nèi)部(機器級上)一律都用代碼。現(xiàn)在,已有許多種編碼方法,但被普遍使用的是下述的幾種方法。

          posted on 2007-09-21 17:21 放水老倌 閱讀(857) 評論(2)  編輯  收藏 所屬分類: 讀書筆記

          Feedback

          # re: 進制轉(zhuǎn)換 2007-09-22 00:07 千里冰封
          呵呵,最近研究進制了  回復(fù)  更多評論
            

          # re: 進制轉(zhuǎn)換 2007-09-24 10:57 放水老倌
          @千里冰封
          呵呵,不行噶?最近在復(fù)習(xí)好多基礎(chǔ)知識:)  回復(fù)  更多評論
            

          主站蜘蛛池模板: 兴和县| 叶城县| 茶陵县| 牟定县| 阿坝县| 永康市| 桓仁| 卢龙县| 南靖县| 厦门市| 河曲县| 崇仁县| 浏阳市| 沂源县| 大石桥市| 伊金霍洛旗| 泾源县| 塔城市| 盱眙县| 哈尔滨市| 定南县| 浙江省| 旌德县| 托克托县| 汾阳市| 集安市| 佛坪县| 宾阳县| 泾源县| 苏州市| 东兰县| 汾西县| 治县。| 延川县| 阳高县| 郎溪县| 玉山县| 曲阜市| 资阳市| 十堰市| 尚志市|