誰能詳細解釋下C語言中八進位制逢八進一逢十六進一等

時間 2022-07-20 03:52:22

1樓:蓉雪球

先給你講十進位制。

這個是逢十進一。也就是我們平時用的計數法

0123456789 (10)從10就變成乙個二位數了。也就是逢十進一。

同理可得

八進位制的逢八進一就是到(8)就變成了10

而十六進製制也是這個意思。遇到f的後一位就變成10了(http://baike.

2樓:匿名使用者

例如八進位制的5+4=11 5+3=10

哪位專家能幫我解釋下計算機數值轉換中的逢二進一 逢八進一 逢十六進一是啥意思?我弄了幾天都沒弄 .

3樓:一灘新約

逢二進一是二進位制,逢八進一是八進位制,逢十六進一是十六進製制。數制,也稱為「計數制」,是用一組固定的符號和統一的規則來表示數值的方法。任何乙個數制都包含兩個基本要素:基數和位權。

雖然計算機能極快地進行運算,但其內部並不像人類在實際生活中使用的十進位制,而是使用只包含0和1兩個數值的二進位制。

人們輸入計算機的十進位制被轉換成二進位制進行計算,計算後的結果又由二進位制轉換成十進位制,這都由作業系統自動完成,並不需要人們手工去做,學習組合語言,就必須了解二進位制(還有八進位制/十六進製制)。

擴充套件資料

一些程式語言中常常以數字0開始表明該數字是八進位制。八進位制的數和二進位制數可以按位對應(八進位制一位對應二進位制三位),因此常應用在計算機語言中。

例如十進位制數57,在二進位制寫作111001,在16進製制寫作39。在歷史上,中國曾經在重量單位上使用過16進製制,比如,規定16兩為一斤。如今的16進製制則普遍應用在計算機領域,這是因為將4個位元(bit)化成單獨的16進製制數字不太困難。

1位元組可以表示成2個連續的16進製制數字。

4樓:匿名使用者

先看看十進位制,就是我們從小就學習的數數:0,1,2,3,4,5,6,7,8,9,十個了哦,該進製了,往下乙個數就要進一位,逢十進一,所以再往下乙個數就成了10。再往後11,12,13,14。。。

而十六進製制,就是逢十六進一。你想一下山的那邊有一群人,他們數數是0,1,3,4,5,6,7,8,9,a,b,c,d,e,f,夠十六了,往下再數就進一位,計為10,再往後數則是11,12,13,14,15,16,17,18,19,1a,1b,1c,1d,1e,1f,20.....

同樣的道理,八進位制是逢八進一。數數時是0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20......

二進位制是逢二進一。數數時是0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100......

什麼叫逢二進一,逢八進一,逢十六進一

5樓:匿名使用者

二進位制數轉換成十進位制數

由二進位制數轉換成十進位制數的基本做法是,把二進位制數首先寫成加權係數式,然後按十進位制加法規則求和。這種做法稱為"按權相加"法。

二進位制轉十進位制方法

從最後一位開始算,依次列為第0、1、2...位第n位的數(0或1)乘以2的n次方

得到的結果相加就是答案

例如:01101011.轉十進位制:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然後:1+2+0

+8+0+32+64+0=107.

二進位制01101011=十進位制107

例如 3的二進位制是11那麼就有以下:

1*2^1+1*2^0=3 *1乘以2的1次方+上1乘以2的零次方*再例如 10的二進位制是1010那麼轉換為十進位制就有下面:

1*2^3+0*2^2+1*2^1+0*2^0=10或 1*2^3+1*2^1=10

總之當你把二進位制轉換為十進位制時

(n*m^x-1)+(n*m^x-1)一直到x等於0時為止x表示二進位制的總共有多少位

n表示二進位制的第n位是多少(n不是0就是1)m表示實數2 ,這個數字不會改變永遠是2

(n*m^x-1)+(n*m^x-1)…….. *n乖以m的x-1次方

6樓:匿名使用者

2進製只能用「0」「1」這知道吧,所謂逢二進一舉例子來說就是:101+1=110;

還有就是借一當二,例如:110-1=101.(簡單的說就是2進製沒有「2」這個數,當「1+1」的時候就進製也就是「10」)。

逢八進一:17+1=20 借一當八:20-1=17逢十六進一:同上

誰能給我詳細解釋一下十進位制轉二進位制,八進位制和十六進製制的方法??

7樓:匿名使用者

十進位制轉任意進製的通用方法是:除x取餘倒排法(x代表進製數)。

如:將十進位制數76轉換成任意進製

1.轉成二進位制

76 / 2 ... 0

= 38 / 2 ... 0= 19 / 2 ... 1= 9 / 2 ...

1= 4 / 2 ... 0= 2 / 2 ... 0= 1 / 2 ...

176(10) = 1001100(2)

2.轉成八進位制

76 / 8 ... 4

= 9 / 8 ... 1= 1 / 8 ... 176(10) = 114(8)

3.轉成十六進製制

76 / 16 ... 12

= 4 / 16 ... 476(10)=4c(16)

8樓:匿名使用者

2轉16:

4個2進製位為乙個16進製制數,2進製1111為16進製制f,2進製中千位的1=8,百位的1=4,十位的1=2,個位的1=1,將各個位的數作相應轉換再相加,的到的數就是10進製數0-15,可輕鬆轉換成16進製制。如01011100,可看成是兩組2進製數0101和1100,則這個數就是16進製制的5c。

10轉16:

100以內一點的10轉16心算比較快,複雜的用「計算器」算了。10轉16用傳統的計算方式可以了,就是大於15小於256的10進製數除以16為的值為十位的16進製制數,其餘數為個位的16進製制數,沒餘數則個位為0。如61的16進製制是3d,61除以16得3餘13,3作十位數,13轉成d為各位數。

16轉10:

用相反的道理,將十位數乘以16加上個位數。如5a,將5乘以16得80,加上a的10進製10,結果是90。

最直接方便的方法是用windows或win95中的計算器,開啟計算器,將計算器置成科學型(win95的乘法),選中十進位制選擇鈕,輸入十進位制數然後選擇二進位制選擇鈕,ok!又快又準確。可是如果你想成為乙個合格的程式設計師的話,你就必須充分了解十進位制數和二進位制數的特點,最好的方法是你多做一些進製轉換的題目,這是程式設計師訓練中的傳統做法。

而其它的轉換就是以十六進製製作橋梁

十進位製到二進位制的轉換實在麻煩,而且二進位制數實在不易記憶和理解,你能馬上感覺到一萬元是多少錢,但是你能感覺到10011100010000(二進位制)是多少嗎?為了程式設計和使用方便,在二進位制和十進位制之間有了一座橋梁十六進製制。十六進製制是逢十六進一,0、1、2、3、4、5、…9、a、b、c、d、e、f、10、11、12……。

到了9以後用abcdef表示,十六進製制數與二進位制數的轉換非常方便。

首先你應當牢記下表

二進位制 十六進製制

0 01 110 2

11 3

100 4

101 5

110 6

111 7

1000 8

1001 9

1010 a

1011 b

1100 c

1101 d

1110 e

1111 f

二進位制數轉換成十六進製制數方法如下,以二進位制數1101110為例:

將二進位制數從右面開始以四位為一組分組,最左面不夠四位的補0,按上表查得對應的十六進製制數,組合起來以後就成了。

0110 1110的十六進製制數是6e

十六進製制轉換成二進位制方法如下,以十六進製制數3e為例:

將十六進製制的每一位轉換成四位二進位制數,不足四位的在左面補0,組合起來即可得到二進位制數。

3e的二進位制數是00111110,既是111110

當然你也可以用計算器得出結果。但也建議你熟練掌握。

也許熱愛改遊戲的你已經猜到,這就是你在改遊戲的時候為什麼總是與2a、3b、4c、5d、ef等奇怪數字打交道的原因了。它們表示的十六進製制數。

怎麼樣夠煩人的吧?我也曾經這樣認為,為了進一步更好更快地掌握學習程式設計,你必須了解這些進製轉換。

9樓:

用windows自帶的計算器舊可以轉換的

c語言中的八進位制

10樓:愛夏的你呀

除了二進位制,c語言還會使用到八進位制。

八進位制是一種「逢八進一」的進製,它由 0~7 八個符號來描述。同樣,此處通過十進位制和八進位制的對比來描述八進位制的表示方式。

八進位制基數為8,加法運算時逢八進一,減法運算時藉一當八。例如,數字 0、1、5、7、14、733、67001、25430 都是有效的八進位制。

當使用八進位制表示十進位制數字8時,由於表示八進位制的符號只有 0~7,因此,根據逢八進一的規則,需要向高位進一位,表示為10。同理,使用八進位制表示十進位制數字16時,繼續向高位進一位,表示為 20。

擴充套件資料

八進位制轉換為十進位制的源**如下

#include

void main()

printf("octal number to decimal number:%d",n);}

11樓:匿名使用者

八進位制整形常量,以0為字首,如012就是八進位制的12你所用的 表示法是\ddd

表示3位八進位制數。

\101即八進位制數101,換成十進位制數為65\012即八進位制數12,換成十進位制數為10

12樓:匿名使用者

\ddd表示1~3位八進位制數所代表的字元。

\xhh表示1~2位十六進製制數所代表的字元。

所以、\012就是八進位制數的12

\101也是八進位制數的101,即是十進位制的65

13樓:匿名使用者

你可以這樣看

012個位是8的0次方也就是1 然後每往前一位就是8的次方數增加1.

然後拿你的數012去乘次方得出來的數2乘1得2。8的一次方是8乘以1得8.

所有進製都可以這樣算 不過就是什麼進製就是什麼值的次方就是了。

c 語言中x 誰能解釋一下

x 是先運算後 1 x 5 比如printf d x 輸出的結果是 5 x 是先 1 後運算 同樣x 5 printf d x 輸出的結果是 6。簡單的來說,i 和 i 在單獨使用時,就是 i i 1。而 a i,相當於 i i 1 a i 而 a i 相當於 a i i i 1 for i 0 i...

c語言,求詳細解釋,C語言,求詳細解釋

因為a b c三個變數共同使用乙個記憶體位址。他們用指標指向那個申請到的記憶體位址空間。所以只能儲存最後乙個的值。就是最後賦值的那個。所以值為3 第一行的意思就是說,把int的位元組長度拿來作為nalloc記憶體空間的大小,然後把這個指標賦值給a b c。這個a b c的在c語言的含義就是指標。就是...

c語言中的值傳遞是怎麼回事,誰解釋C語言中什麼是值傳遞和位址傳遞??

實參的值傳給了形參,形參可以看著是被調函式中的區域性變數被調函式可有返回值也可以沒有有返回值用return返回。例如int fun int a,int b 主函式呼叫 int a,b,c a 1,b 2 c fun a,b 沒有返回值的函式通常形參都是指標變數,那樣可以直接改變變數的值,例如fun ...

c語言中for迴圈這個真心求解釋

int n,i for n 2 n 100 n 整除時,i小於n的不列印,大於等於n列印,即素數,只能被自己整除 for n 2 n 100 n 哥們程式這樣寫就清楚了吧。每一列同樣縮排的程式語句有相同的地位。相信你也能理解了,加油。 首先我很想說 請把所有 都上傳好麼,不要節選。現在我就不知道第乙...

c語言問題求大神詳細解釋

你可以加上大括號,這樣 就清晰了 ps 初學者最後別省略那些大括號,有利於你分析 for迴圈組建沒有字元 a 的字串 下標 i 指向源字串,用來遍歷所有字元 下標 j 指向結果字串,只有在字元不是 a 時才 20行表示在字串結尾加上結束標誌,這已經是在for迴圈外了 include include ...