計(jì)算機(jī)進(jìn)制間的轉(zhuǎn)換_百度文庫(kù)_第1頁(yè)
計(jì)算機(jī)進(jìn)制間的轉(zhuǎn)換_百度文庫(kù)_第2頁(yè)
計(jì)算機(jī)進(jìn)制間的轉(zhuǎn)換_百度文庫(kù)_第3頁(yè)
計(jì)算機(jī)進(jìn)制間的轉(zhuǎn)換_百度文庫(kù)_第4頁(yè)
計(jì)算機(jī)進(jìn)制間的轉(zhuǎn)換_百度文庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、進(jìn)制轉(zhuǎn)換目錄:一、正數(shù)1. 十 -> 二2. 二 -> 十3. 十 -> 八4. 八 -> 十6. 十六-> 十1. 二 -> 八2. 八 -> 二3. 十六 -> 二4. 二 -> 十六二、負(fù)數(shù)正文:一、正數(shù)在高速發(fā)展的現(xiàn)代社會(huì),計(jì)算機(jī)浩浩蕩蕩地成為了人們生活中不可缺少的一部分,幫助人們解決通信,聯(lián)絡(luò),互動(dòng)等各方面的問(wèn)題。今天我就給大家講講與計(jì)算機(jī)有關(guān)的“進(jìn)制轉(zhuǎn)換”問(wèn)題。我們以(25.625)(十)為例講解一下進(jìn)制之間的轉(zhuǎn)化問(wèn)題說(shuō)明:小數(shù)部份的轉(zhuǎn)化計(jì)算機(jī)二級(jí)是不考的,有興趣的人可以看一看1. 十 -> 二(25.625)(十)整數(shù)部

2、分:25/2=12.112/2=6 .06/2=3 .03/2=1 .11/2=0 .1然后我們將余數(shù)按從下往上的順序書(shū)寫(xiě)就是:11001,那么這個(gè)11001就是十進(jìn)制25的二進(jìn)制形式小數(shù)部分:0.625*2=1.250.25 *2=0.50.5 *2=1.0然后我們將整數(shù)部分按從上往下的順序書(shū)寫(xiě)就是:101,那么這個(gè)101就是十進(jìn)制0.625的二進(jìn)制形式所以:(25.625)(十)=(11001.101)(二)十進(jìn)制轉(zhuǎn)成二進(jìn)制是這樣:把這個(gè)十進(jìn)制數(shù)做二的整除運(yùn)算,并將所得到的余數(shù)倒過(guò)來(lái)例如將十進(jìn)制的10轉(zhuǎn)為二進(jìn)制是這樣:(1 10/2,商5余0;(2 5/2,商2余1;(32/2,商1余0;

3、(412,商0余1(5將所得的余數(shù)侄倒過(guò)來(lái),就是1010,所以十進(jìn)制的10轉(zhuǎn)化為二進(jìn)制就是10102. 二 -> 十(11001.101)(二)整數(shù)部分: 下面的出現(xiàn)的2(x)表示的是2的x次方的意思1*2(4)+1*2(3)+0*2(2)+0*2(1)+1*2(0)=25小數(shù)部分:1*2(-1)+0*2(-2)+1*2(-3)=0.625所以:(11001.101)(二)=(25.625)(十)二進(jìn)制轉(zhuǎn)化為十進(jìn)制是這樣的:這里可以用8421碼的方法這個(gè)方法是將你所要轉(zhuǎn)化的二進(jìn)制從右向左數(shù),從0開(kāi)始數(shù)(這個(gè)數(shù)我們叫N),在位數(shù)是1的地方停下,并將1乘以2的N次方,最后將這些1乘以2的N次

4、方相加,就是這個(gè)二進(jìn)數(shù)的十進(jìn)制了還是舉個(gè)例子吧:求110101的十進(jìn)制數(shù)從右向左開(kāi)始了(1 1乘以2的0次方,等于1;(2 1乘以2的2次方,等于4;(3 1乘以2的4次方,等于16;(4 1乘以2的5次方,等于32;(5 將這些結(jié)果相加:141632533. 十 -> 八(25.625)(十)整數(shù)部分:25/8=3.13/8 =0.3然后我們將余數(shù)按從下往上的順序書(shū)寫(xiě)就是:31,那么這個(gè)31就是十進(jìn)制25的八進(jìn)制形式小數(shù)部分:0.625*8=5所以:(25.625)(十)=(31.5)(八)4. 八 -> 十(31.5)(八)整數(shù)部分:3*8(1)+1*8(0)=25小數(shù)部分:5

5、*8(-1)=0.625所以(31.5)(八)=(25.625)(十)5. 十 -> 十六(25.625)(十)整數(shù)部分:25/16=1.91/16 =0.1然后我們將余數(shù)按從下往上的順序書(shū)寫(xiě)就是:19,那么這個(gè)19就是十進(jìn)制25的十六進(jìn)制形式小數(shù)部分:0.625*16=10(即十六進(jìn)制的A或a)然后我們將整數(shù)部分按從上往下的順序書(shū)寫(xiě)就是:A,那么這個(gè)A就是十進(jìn)制0.625的十六進(jìn)制形式所以:(25.625)(十)=(19.A)(十六)6. 十六-> 十(19.A)(十六)整數(shù)部分:1*16(1)+9*16(0)=25小數(shù)部分:10*16(-1)=0.625所以(19.A)(十六)

6、=(25.625)(十)如何將帶小數(shù)的二進(jìn)制與八進(jìn)制、十六進(jìn)制數(shù)之間的轉(zhuǎn)化問(wèn)題我們以(11001.101)(二)為例講解一下進(jìn)制之間的轉(zhuǎn)化問(wèn)題說(shuō)明:小數(shù)部份的轉(zhuǎn)化計(jì)算機(jī)二級(jí)是不考的,有興趣的人可以看一看1. 二 -> 八(11001.101)(二)整數(shù)部分: 從后往前每三位一組,缺位處用0填補(bǔ),然后按十進(jìn)制方法進(jìn)行轉(zhuǎn)化,則有:001=1011=3然后我們將結(jié)果按從下往上的順序書(shū)寫(xiě)就是:31,那么這個(gè)31就是二進(jìn)制11001的八進(jìn)制形式小數(shù)部分: 從前往后每三位一組,缺位處用0填補(bǔ),然后按十進(jìn)制方法進(jìn)行轉(zhuǎn)化,則有:101=5然后我們將結(jié)果部分按從上往下的順序書(shū)寫(xiě)就是:5,那么這個(gè)5就是二進(jìn)

7、制0.101的八進(jìn)制形式所以:(11001.101)(二)=(31.5)(八)2. 八 -> 二(31.5)(八)整數(shù)部分:從后往前每一位按十進(jìn)制轉(zhuǎn)化方式轉(zhuǎn)化為三位二進(jìn)制數(shù),缺位處用0補(bǔ)充則有:1->1->0013->11然后我們將結(jié)果按從下往上的順序書(shū)寫(xiě)就是:11001,那么這個(gè)11001就是八進(jìn)制31的二進(jìn)制形式說(shuō)明,關(guān)于十進(jìn)制的轉(zhuǎn)化方式我這里就不再說(shuō)了,上一篇文章我已經(jīng)講解了!小數(shù)部分:從前往后每一位按十進(jìn)制轉(zhuǎn)化方式轉(zhuǎn)化為三位二進(jìn)制數(shù),缺位處用0補(bǔ)充則有:5->101然后我們將結(jié)果按從下往上的順序書(shū)寫(xiě)就是:101,那么這個(gè)101就是八進(jìn)制5的二進(jìn)制形式所以:

8、(31.5)(八)=(11001.101)(二)3. 十六 -> 二(19.A)(十六)整數(shù)部分:從后往前每位按十進(jìn)制轉(zhuǎn)換成四位二進(jìn)制數(shù),缺位處用0補(bǔ)充則有:9->10011->0001(相當(dāng)于1)則結(jié)果為00011001或者11001小數(shù)部分:從前往后每位按十進(jìn)制轉(zhuǎn)換成四位二進(jìn)制數(shù),缺位處用0補(bǔ)充則有:A(即10->1010所以:(19.A)(十六)=(11001.1010)(二)=(11001.101)(二)4. 二 -> 十六(11001.101)(二)整數(shù)部分:從后往前每四位按十進(jìn)制轉(zhuǎn)化方式轉(zhuǎn)化為一位數(shù),缺位處用0補(bǔ)充則有:1001->90001-&

9、gt;1則結(jié)果為19小數(shù)部分:從前往后每四位按十進(jìn)制轉(zhuǎn)化方式轉(zhuǎn)化為一位數(shù),缺位處用0補(bǔ)充則有:1010->10->A則結(jié)果為A所以:(11001.101)(二)=(19.A)(十六)二、負(fù)數(shù)負(fù)數(shù)的進(jìn)制轉(zhuǎn)換稍微有些不同。先把負(fù)數(shù)寫(xiě)為其補(bǔ)碼形式(在此不議),然后再根據(jù)二進(jìn)制轉(zhuǎn)換其它進(jìn)制的方法進(jìn)行。例:要求把-9轉(zhuǎn)換為八進(jìn)制形式。則有:-9的補(bǔ)碼為11111001。然后三位一劃001->1111->157011->3然后我們將結(jié)果按從下往上的順序書(shū)寫(xiě)就是:31571,那么31571就是十進(jìn)制數(shù)-9的八進(jìn)制形式。補(bǔ)充:最近有些朋友提了這樣的問(wèn)題“0.8的十六進(jìn)制是多少?”

10、我想在我的空間里已經(jīng)有了詳細(xì)的講解,為什么他還要問(wèn)這樣的問(wèn)題那于是我就動(dòng)手算了一下,發(fā)現(xiàn)0.8、0.6、0.2. .一些數(shù)字在進(jìn)制之間的轉(zhuǎn)化過(guò)程中確實(shí)存在麻煩。就比如“0.8的十六進(jìn)制”吧!無(wú)論你怎么乘以16,它的余數(shù)總也乘不盡,總是余8這可怎么辦啊,我也沒(méi)轍了第二天,我請(qǐng)教了我的老師才知道,原來(lái)這么簡(jiǎn)單?。【唧w方法如下:0.8*16=12.80.8*16=12.8.取每一個(gè)結(jié)果的整數(shù)部分為12既十六進(jìn)制的C如果題中要求精確到小數(shù)點(diǎn)后3位那結(jié)果就是0.CCC如果題中要求精確到小數(shù)點(diǎn)后4位那結(jié)果就是0.CCCC現(xiàn)在OK了,我想我的朋友再也不會(huì)因?yàn)檫M(jìn)制的問(wèn)題煩愁了!下面是將十進(jìn)制數(shù)轉(zhuǎn)換為負(fù)R進(jìn)制的

11、公式:N=(dmdm-1.d1d0-R=dm*(-Rm+dm-1*(-Rm-1+.+d1*(-R1+d0*(-R015=1*(-24+0*(-23+0*(-22+1*(-21+1*(-20=10011(-2其實(shí)轉(zhuǎn)化成任意進(jìn)制都是一樣的C程序代碼:(支持負(fù)進(jìn)制)#include <stdio.h>#include <math.h>main(long n,m,r;while( scanf( "%ld%ld",&n,&r!=EOFif (abs(r> 1 && !(n <0 && r> 0l

12、ong result100=;long *p=result;printf( "%ld=",n;if (n!=0while(n!=0m=n/r;*p=n-m*r;if (*p <0 && r <0*p=*p+abs(r;m+;p+;n=m;for (m=p-result-1;m>=0;m-if (resultm> 9printf( "%c",55+resultm;elseprintf( "%d",resultm;else printf( "0"printf( "(ba

13、se%dn",r; return;二進(jìn)制、八進(jìn)制、十六進(jìn)制以及之間的轉(zhuǎn)換不同進(jìn)制之間的轉(zhuǎn)換純粹是數(shù)學(xué)上的計(jì)算。不過(guò),你不必?fù)?dān)心會(huì)有么復(fù)雜,無(wú)非是乘或除的計(jì)算。 生活中其實(shí)很多地方的計(jì)數(shù)方法都多少有點(diǎn)不同進(jìn)制的影子。比如我們最常用的10進(jìn)制,其實(shí)起源于人有10個(gè)指頭。如果我們的祖先始終沒(méi)有擺脫手腳不分的境況,我想我們現(xiàn)在一定是在使用20進(jìn)制。至于二進(jìn)制沒(méi)有襪子稱(chēng)為0只襪子,有一只襪子稱(chēng)為1只襪子,但若有兩襪子,則我們常說(shuō)的是:1雙襪子。生活中還有:七進(jìn)制,比如星期。十六進(jìn)制,比如小時(shí)或“一打”,六十進(jìn)制,比如分鐘或角度第5章中的ascii碼表,我們找到問(wèn)號(hào)字符(?的ascii值是63,

14、那么我們可以把它轉(zhuǎn)換為八進(jìn)值:77,然后用 '77'來(lái)表示'?'。由于是八進(jìn)制,所以本應(yīng)寫(xiě)成 '077',但因?yàn)閏,c+規(guī)定不允許使用斜杠加10進(jìn)制數(shù)來(lái)表示字符,所以這里的0可以不寫(xiě)。2進(jìn)制,用兩個(gè)阿拉伯?dāng)?shù)字:0、1;8進(jìn)制,用八個(gè)阿拉伯?dāng)?shù)字:0、1、2、3、4、5、6、7;10進(jìn)制,用十個(gè)阿拉伯?dāng)?shù)字:0到9;16進(jìn)制,用十六個(gè)阿拉伯?dāng)?shù)字等等,阿拉伯人或說(shuō)是印度人,只發(fā)明了10個(gè)數(shù)字啊?16進(jìn)制就是逢16進(jìn)1,但我們只有09這十個(gè)數(shù)字,所以我們用a,b,c,d,e,f這五個(gè)字母來(lái)分別表示10,11,12,13,14,15。字母不區(qū)分大小寫(xiě)。十六進(jìn)

15、制數(shù)的第0位的權(quán)值為16的0次方,第1位的權(quán)值為16的1次方,第2位的權(quán)值為16的2次方所以,在第n(n從0開(kāi)始)位上,如果是是數(shù) x (x 大于等于0,并且x小于等于 15,即:f)表示的大小為 x * 16的n次方。假設(shè)有一個(gè)十六進(jìn)數(shù) 2af5, 那么如何換算成10進(jìn)制呢?用豎式計(jì)算: 2af5換算成10進(jìn)制:第0位: 5 * 160 = 5第1位: f * 161 = 240第2位: a * 162 = 2560第3位: 2 * 163 = 8192 -10997 直接計(jì)算就是:5 * 160 + f * 161 + a * 162 + 2 * 163 = 10997(別忘了,在上面的計(jì)

16、算中,a表示10,而f表示15現(xiàn)在可以看出,所有進(jìn)制換算成10進(jìn)制,關(guān)鍵在于各自的權(quán)值不同。假設(shè)有人問(wèn)你,十進(jìn)數(shù) 1234 為什么是 一千二百三十四?你盡可以給他這么一個(gè)算式:1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100如果不使用特殊的書(shū)寫(xiě)形式,16進(jìn)制數(shù)也會(huì)和10進(jìn)制相混。隨便一個(gè)數(shù):9876,就看不出它是16進(jìn)制或10進(jìn)制。c,c+規(guī)定,16進(jìn)制數(shù)必須以 0x開(kāi)頭。比如 0x1表示一個(gè)16進(jìn)制數(shù)。而1則表示一個(gè)十進(jìn)制。另外如:0xff,0xff,0x102a,等等。其中的x也也不區(qū)分大小寫(xiě)。(注意:0x中的0是數(shù)字0,而不是字母o以下是一些用法示

17、例:int a = 0x100f;int b = 0x70 + a;至此,我們學(xué)完了所有進(jìn)制:10進(jìn)制,8進(jìn)制,16進(jìn)制數(shù)的表達(dá)方式。最后一點(diǎn)很重要,c/c+中,10進(jìn)制數(shù)有正負(fù)之分,比如12表示正12,而-12表示負(fù)12,;但8進(jìn)制和16進(jìn)制只能用達(dá)無(wú)符號(hào)的正整數(shù),如果你在代碼中里:-078,或者寫(xiě):-0xf2,c,c+并不把它當(dāng)成一個(gè)負(fù)數(shù)。'?' /直接輸入字符'77' /用八進(jìn)制,此時(shí)可以省略開(kāi)頭的0'0x3f' /用十六進(jìn)制同樣,這一小節(jié)只用于了解。除了空字符用八進(jìn)制數(shù) '0' 表示以外,我們很少用后兩種方法表示一個(gè)字符。

18、6.3 十進(jìn)制數(shù)轉(zhuǎn)換到二、八、十六進(jìn)制數(shù)給你一個(gè)十進(jìn)制,比如:6,如果將它轉(zhuǎn)換成二進(jìn)制數(shù)呢?10進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),這是一個(gè)連續(xù)除2的過(guò)程:把要轉(zhuǎn)換的數(shù),除以2,得到商和余數(shù),將商繼續(xù)除以2,直到商為0。最后將所有余數(shù)倒序排列,得到數(shù)就是轉(zhuǎn)換結(jié)果。聽(tīng)起來(lái)有些糊涂?我們結(jié)合例子來(lái)說(shuō)明。比如要轉(zhuǎn)換6為二進(jìn)制數(shù)?!鞍岩D(zhuǎn)換的數(shù),除以2,得到商和余數(shù)”。那么:要轉(zhuǎn)換的數(shù)是6, 6 ÷ 2,得到商是3,余數(shù)是0。 (不要告訴我你不會(huì)計(jì)算6÷3?。皩⑸汤^續(xù)除以2,直到商為0”現(xiàn)在商是3,還不是0,所以繼續(xù)除以2。那就: 3 ÷ 2, 得到商是1,余數(shù)是1?!皩⑸汤^續(xù)除以2

19、,直到商為0”現(xiàn)在商是1,還不是0,所以繼續(xù)除以2。那就: 1 ÷ 2, 得到商是0,余數(shù)是1 (拿筆紙算一下,1÷2是不是商0余1!)“將商繼續(xù)除以2,直到商為0最后將所有余數(shù)倒序排列”好極!現(xiàn)在商已經(jīng)是0。我們?nèi)斡?jì)算依次得到余數(shù)分別是:0、1、1,將所有余數(shù)倒序排列,那就是:110了!6轉(zhuǎn)換成二進(jìn)制,結(jié)果是110。把上面的一段改成用表格來(lái)表示,則為:被除數(shù) 計(jì)算過(guò)程 商 余數(shù) 6 6/2 3 0 3 3/2 1 1 1 1/2 0 1 (在計(jì)算機(jī)中,÷用 / 來(lái)表示) 如果是在考試時(shí),我們要畫(huà)這樣表還是有點(diǎn)費(fèi)時(shí)間,所更常見(jiàn)的換算過(guò)程是使用下圖的連除: (圖:

20、1) 請(qǐng)大家對(duì)照?qǐng)D,表,及文字說(shuō)明,并且自已拿筆計(jì)算一遍如何將6轉(zhuǎn)換為二進(jìn)制數(shù)。 說(shuō)了半天,我們的轉(zhuǎn)換結(jié)果對(duì)嗎?二進(jìn)制數(shù)110是6嗎?你已經(jīng)學(xué)會(huì)如何將二進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制數(shù)了,所以請(qǐng)現(xiàn)在就計(jì)算一下110換成10進(jìn)制是否就是6。 非常開(kāi)心,10進(jìn)制數(shù)轉(zhuǎn)換成8進(jìn)制的方法,和轉(zhuǎn)換為2進(jìn)制的方法類(lèi)似,惟一變化:除數(shù)由2變成8。來(lái)看一個(gè)例子,如何將十進(jìn)制數(shù)120轉(zhuǎn)換成八進(jìn)制數(shù)。用表格表示:被除數(shù) 計(jì)算過(guò)程 商 余數(shù) 120 120/8 15 0 15 15/8 1 7 1 1/8 0 1 120轉(zhuǎn)換為8進(jìn)制,結(jié)果為:170。非常非常開(kāi)心,10進(jìn)制數(shù)轉(zhuǎn)換成16進(jìn)制的方法,和轉(zhuǎn)換為2進(jìn)制的方法類(lèi)似,惟一變

21、化:除數(shù)由2變成16。同樣是120,轉(zhuǎn)換成16進(jìn)制則為:被除數(shù) 計(jì)算過(guò)程 商 余數(shù) 120 120/16 7 8 7 7/16 0 7 120轉(zhuǎn)換為16進(jìn)制,結(jié)果為:78。請(qǐng)拿筆紙,采用(圖:1)的形式,演算上面兩個(gè)表的過(guò)程。6.4 二、十六進(jìn)制數(shù)互相轉(zhuǎn)換二進(jìn)制和十六進(jìn)制的互相轉(zhuǎn)換比較重要。不過(guò)這二者的轉(zhuǎn)換卻不用計(jì)算,每個(gè)c,c+程序員都能做到看見(jiàn)二進(jìn)制數(shù),直接就能轉(zhuǎn)換為十六進(jìn)制數(shù),反之亦然。我們也一樣,只要學(xué)完這一小節(jié),就能做到。首先我們來(lái)看一個(gè)二進(jìn)制數(shù):1111,它是多少呢?你可能還要這樣計(jì)算:1 * 20 + 1 * 21 + 1 * 22 + 1 * 23 = 1 * 1 + 1 *

22、2 + 1 * 4 + 1 * 8 = 15。然而,由于1111才4位,所以我們必須直接記住它每一位的權(quán)值,并且是從高位往低位記,:8、4、2、1。即,最高位的權(quán)值為23 8,然后依次是 22 4,212, 20 1。記住8421,對(duì)于任意一個(gè)4位的二進(jìn)制數(shù),我們都可以很快算出它對(duì)應(yīng)的10進(jìn)制值。下面列出四位二進(jìn)制數(shù) xxxx 所有可能的值(中間略過(guò)部分)僅4位的2進(jìn)制數(shù) 快速計(jì)算方法 十進(jìn)制值 十六進(jìn)值1111 = 8 + 4 + 2 + 1 = 15 f1110 = 8 + 4 + 2 + 0 = 14 e1101 = 8 + 4 + 0 + 1 = 13 d 1100 = 8 + 4 +

23、 0 + 0 = 12 c 1011 = 8 + 4 + 0 + 1 = 11 b 1010 = 8 + 0 + 2 + 0 = 10 a1001 = 8 + 0 + 0 + 1 = 10 9.0001 = 0 + 0 + 0 + 1 = 1 10000 = 0 + 0 + 0 + 0 = 0 0二進(jìn)制數(shù)要轉(zhuǎn)換為十六進(jìn)制,就是以4位一段,分別轉(zhuǎn)換為十六進(jìn)制。如(上行為二制數(shù),下面為對(duì)應(yīng)的十六進(jìn)制:1111 1101 , 1010 0101 , 1001 1011f d , a 5 , 9 b 反過(guò)來(lái),當(dāng)我們看到 fd時(shí),如何迅速將它轉(zhuǎn)換為二進(jìn)制數(shù)呢?先轉(zhuǎn)換f:看到f,我們需知道它是15(可能你

24、還不熟悉af這五個(gè)數(shù)),然后15如何用8421湊呢?應(yīng)該是8 + 4 + 2 + 1,所以四位全為1 :1111。接著轉(zhuǎn)換 d:看到d,知道它是13,13如何用8421湊呢?應(yīng)該是:8 + 2 + 1,即:1011。所以,fd轉(zhuǎn)換為二進(jìn)制數(shù),為: 1111 1011由于十六進(jìn)制轉(zhuǎn)換成二進(jìn)制相當(dāng)直接,所以,我們需要將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成2進(jìn)制數(shù)時(shí),也可以先轉(zhuǎn)換成16進(jìn)制,然后再轉(zhuǎn)換成2進(jìn)制。比如,十進(jìn)制數(shù) 1234轉(zhuǎn)換成二制數(shù),如果要一直除以2,直接得到2進(jìn)制數(shù),需要計(jì)算較多次數(shù)。所以我們可以先除以16,得到16進(jìn)制數(shù):被除數(shù) 計(jì)算過(guò)程 商 余數(shù) 1234 1234/16 77 2 77 77/1

25、6 4 13 (d 4 4/16 0 4 結(jié)果16進(jìn)制為: 0x4d2然后我們可直接寫(xiě)出0x4d2的二進(jìn)制形式: 0100 1011 0010。其中對(duì)映關(guān)系為:0100 - 41011 - d0010 - 2同樣,如果一個(gè)二進(jìn)制數(shù)很長(zhǎng),我們需要將它轉(zhuǎn)換成10進(jìn)制數(shù)時(shí),除了前面學(xué)過(guò)的方法是,我們還可以先將這個(gè)二進(jìn)制轉(zhuǎn)換成16進(jìn)制,然后再轉(zhuǎn)換為10進(jìn)制。下面舉例一個(gè)int類(lèi)型的二進(jìn)制數(shù):01101101 11100101 10101111 00011011我們按四位一組轉(zhuǎn)換為16進(jìn)制: 6d e5 af 1b 6.5 原碼、反碼、補(bǔ)碼結(jié)束了各種進(jìn)制的轉(zhuǎn)換,我們來(lái)談?wù)劻硪粋€(gè)話(huà)題:原碼、反碼、補(bǔ)碼。我

26、們已經(jīng)知道計(jì)算機(jī)中,所有數(shù)據(jù)最終都是使用二進(jìn)制數(shù)表達(dá)。我們也已經(jīng)學(xué)會(huì)如何將一個(gè)10進(jìn)制數(shù)如何轉(zhuǎn)換為二進(jìn)制數(shù)。不過(guò),我們?nèi)匀粵](méi)有學(xué)習(xí)一個(gè)負(fù)數(shù)如何用二進(jìn)制表達(dá)。比如,假設(shè)有一 int 類(lèi)型的數(shù),值為5,那么,我們知道它在計(jì)算機(jī)中表示為:00000000 00000000 00000000 000001015轉(zhuǎn)換成二制是101,不過(guò)int類(lèi)型的數(shù)占用4字節(jié)(32位),所以前面填了一堆0?,F(xiàn)在想知道,-5在計(jì)算機(jī)中如何表示?在計(jì)算機(jī)中,負(fù)數(shù)以其正值的補(bǔ)碼形式表達(dá)。什么叫補(bǔ)碼呢?這得從原碼,反碼說(shuō)起。原碼:一個(gè)整數(shù),按照絕對(duì)值大小轉(zhuǎn)換成的二進(jìn)制數(shù),稱(chēng)為原碼。比如 00000000 00000000 00000000 00000101 是 5的 原碼。反碼:將二進(jìn)制數(shù)按位取反,所得的新二進(jìn)制數(shù)稱(chēng)為原二進(jìn)制數(shù)的反碼。取反操作指:原為1,得0;原為0,得1。(1變0; 0變1)比如:將00000000 00000000 00000000 00000101每一位取反,得11111111 11111111 11111111 11111010。稱(chēng):11111111 11111111 11111111 11111010 是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論