c語言裡,八進位制,十六進位制,二進位制,十進位制怎麼互

2021-03-19 18:31:05 字數 6582 閱讀 9488

1樓:匿名使用者

// n進位制轉

baim進位制,10進製表示,n,m均小

du於10

//如果大zhi於10需要

dao特殊處回理,需要使用字串來答

輔助處理了

int convertnumber(int x,int n,int m)

z=0; nn=1; while ( y )return z;

}void main()

2樓:做而論道

c語言裡,注意,說的是:【裡面】,

只有二進位制,沒有別的進位制。

3樓:丶冷冷丶冷

#include

int main()

for(int j=i-1;j>=0;j--) //二進位制輸zhi出

dao內

printf("%d",a[j]);

printf("\n");

printf("%o\n",k);//八進位制輸出printf("%x\n",k);//十六容進位制輸出}

c語言中怎樣區分八進位制,十進位制,二進位制?

4樓:一諾寶貝

在c語言裡,整數有三種表示形式:十進位制,八進位制,十六進位制。

其中以數字0開頭,由0~7組成的數是八進位制。以0x或0x開頭,由0~9,a~f或a~f 組成是十六進位制。除表示正負的符號外,以1~9開頭,由0~9組成是十進位制。

1.十進位制:除表示正負的符號外,以1~9開頭,由0~9組成。如,128,+234,-278。

2,八進位制:以0開頭,由0~7組成的數。如,0126,050000.

10進位制數10轉換為8進位制的轉換過程如下:

10/8 = 1  ....(餘2)

1/8 = 0  ....(餘1)   (1/8中的1是上次運算的商)

所以10的8進位制數為12

請問用c語言編寫一個十進位制轉換成二進位制或八進位制或十六進位制的程式需要怎麼打?

5樓:會飛的小兔子

#include

voidmain()

inttransfer(intx)

}returny;

}擴充套件資料c語言:整數轉換十六進位制數和八進位制

#include

voidmain()

6樓:匿名使用者

int main()

while(b!=1);

c[j]=1;

printf("二進位制為: ");

for(i=j;i>=0;i--)

printf("%d",c[i]);

break;

case 8:

printf("請輸入一個十進位制:b= ");

scanf("%d",&b);

dowhile(b!=0);

printf("八進位制為: ");

for(i=j-1;i>=0;i--)

printf("%d",c[i]);

break;

case 16:

printf("請輸入一個十進位制:b= ");

scanf("%d",&b);

dowhile (b!=0);

printf("十六進位制為: ");

for(i=j-1;i>=0;i--)

printf("%d",c[i]);break;

default:printf("錯誤\n");}}修改過的,望採納

c語言中 怎樣區分八進位制 十進位制 二進位制?

7樓:匿名使用者

在c語言裡,整數有三種表示形式:十進位制,八進位制,十六進位制。

其中以數字0開頭,由0~7組成的數是八進位制。以0x或0x開頭,由0~9,a~f或a~f 組成是十六進位制。除表示正負的符號外,以1~9開頭,由0~9組成是十進位制。

1.十進位制:除表示正負的符號外,以1~9開頭,由0~9組成。如,128,+234,-278。

2,八進位制:以0開頭,由0~7組成的數。如,0126,050000.

3,十六進位制:以0x或0x開頭,由0~9,a~f或a~f 組成。如,0x12a,0x5a000.

8樓:任成偉

程式語言通常規定是以0開頭的數字是八進位制數,以0x開頭的數字是十六進位制數,其餘的就是十進位制數,至於你說的「十進位制是d表示 二進位制是b 十六進位制是h」在編寫程式時是不能用的,那只是為了方便,書寫時(不是在計算機上程式設計時)用到的(只對於c語言程式設計,組合語言程式設計時,是寫上的),你的程式 int x=011中,x是用八進位制表示的一個數字,他是9.後面的printf("%d\n",++x);是以10進位制形式列印結果(%d的作用),所以程式執行的結果是9.

9樓:樂vov樂

0開頭的是八進位制

0x開頭的是十六進位制

普通的就是十進位制。

10樓:o荔枝紅了

0開頭的是八進位制

0x開頭的是十六進位制

11樓:匿名使用者

011前面為0所以為八進位制

12樓:獅子xy愛我

區分十進位制和二進位制方法就是十進位制是滿10個進一個,二進位制就是滿兩個進一個

c語言二進位制八進位制十進位制16進位制怎麼轉換

13樓:鈕秀英御卿

在程式設計時直接用格式化輸出函式,%d表示以十進位制輸出,%o表示以八進位制輸出,%x表示以十六進位制輸出…這樣可以實現不同進位制之間的轉換…

c語言中二進位制 十進位制 八進位制 十六進位制之間的換算?

14樓:世釗聊靈慧

二進位制的1101轉化成十進位制

1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13

轉化成十進位制要從右到左用二進位制的每個數去乘以2的相應次方不過次方要從0開始

十進位制轉二進位制:

用2輾轉相除至結果為1

將餘數和最後的1從下向上倒序寫

就是結果

例如302

302/2

=151

餘0151/2=75

餘175/2=37

餘137/2=18

餘118/2=9

餘09/2=4

餘14/2=2

餘02/2=1

餘01/2=0

餘1故二進位制為100101110

二進位制轉八進位制

在把二進位制數轉換為八進位制表示形式時,對每三位二進位制位進行分組,應該從小數點所在位置分別向左向右劃分,若整數部分倍數不是3的倍數,可以在最高位前面補若干個0;對小數部分,當其位數不是的倍數時,在最低位後補若干個0.然後從左到右把每組的八進位制碼依次寫出,即得轉換結果.

你算一下就知道了啊

比如110=2^2+2+0=6

二進位制轉十六進位制

要將二進位制轉為16進位制,只需將二進位制的位數由右向左每四位一個單位分隔,分的不夠的前邊補零,用四位數的二進位制數來代表一個16進位制。轉換表如下,括號內為十六進位制

0000(0)

0001

(1)0010

(2)0011

(3)0100

(4)0101

(5)0110

(6)0111

(7)1000

(8)1001

(9)1010(a)

1011

(b)1100

(c)1101

(d)1110

(e)1111

(f)例如:10101011劃分為10101011,根據轉換表十六進位制為ab

二進位制,十進位制,八進位制,十六進位制怎麼轉換

15樓:千鋒教育

ccandbobo

2011-08-05 09:22

一。進位制概念

1。 十進位制

十進位制使用十個數字(0、1、2、3、4、5、6、7、8、9)記數,基數為10,逢十進一。

歷史上第一臺電子數字計算機eniac是一臺十進位制機器,其數字以十進位制表示,並以十進位制形式運算。設計十進位制機器比設計二進位制機器複雜得多。而自然界具有兩種穩定狀態的元件普遍存在,如開關的開和關,電路的通和斷,電壓的高和低等,非常適合表示計算機中的數。

設計過程簡單,可靠性高。因此,現在改為二進位制計算機。

2。 二進位制

二進位制以2為基數,只用0和1兩個數字表示數,逢2進一。

二進位制與遵循十進位制數遵循一樣的運算規則,但顯得比十進位制更簡單。例如:

(1)加法:0+0=0 0+1=1 1+0=1 1+1=0

(2)減法:0-0=0 1-1=01-0=1 0-1=1

(3)乘法:0*0=0 0*1=01*0=0 1*1=1

(4)除法:0/1=0 1/1=1,除數不能為0

3。 八進位制

所謂八進位制,就是其基數為8,基數值可以取0、1、2、3、4、5、6、7共8個值,逢八進一。

八進位制與十進位制運算規則一樣。那麼為什麼要用八進位制呢?難道要設計八進位制的計算機麼?

實際上,八進位制與十六進位制的引用,主要是為了書寫和表示方便,因為二進位制表示位數比較長。如:(1024)10 用二進位制表示為 (10000000000)2,共有11個數字,用八進位制表示為(2000)8。

更重要的是,由於二進位制與八進位制存在在一種對等關係,每三位二進位制與一位八進位制數完全對等(23=8)。所以二進位制和十進位制在運算上無區別,而時進位制不具備這一優點。

4。 十六進位制

十六進位制應用也是非常廣泛的一種計數制。在使用者看來,十六進位制是二進位制數的一種更加緊湊的一種表示方法。

基數為:0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f,逢十進一。在十六進位制系統中,數值為10到15的數分別用a、b、c、d、e、f表示。

二進位制數及與之等值的八進位制、十進位制和十六進位制數

二進位制 八進位制 十進位制 十六進位制

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 4 4 4

0101 5 5 5

0110 6 6 6

0111 7 7 7

1000 10 8 8

1001 11 9 9

1010 12 10 a

1011 13 11 b

1100 14 12 c

1101 15 13 d

1110 16 14 e

1111 17 15 f

二。進位制轉換

1。二進位制與十進位制數間的轉換

(1)二進位制轉換為十進位制

將每個二進位制數按權後求和即可。請看例題:

把二進位制數(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10

(2)十進位制轉換為二進位制

一般需要將十進位制數的整數部分與小數部分分開處理。

整數部分計算方法:除2取餘法請看例題:

十進位制數(53)10的二進位制值為(110101)2

小數部分計算方法:乘2取整法,即每一步將十進位制小數部分乘以2,所得積的小數點左邊的數字(0或1)作為二進位制表示法中的數字,第一次乘法所得的整數部分為最高位。請看例題:

將(0.5125)10轉換成二進位制。(0.5125)10=(0.101)2

2。 八進位制、十六進位制與十六進位制間的轉換

八進位制、十六進位制與十六進位制之間的轉換方法與二進位制,同十進位制之間的轉換方法類似。例如:

(73)8=7*81+3=(59)10

(0.56)8=5*8-1+6*8-2=(0.71875)10

(12a)16=1*162+2*161+a*160=(298)10

(0.3c8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十進位制整數→→→→→八進位制方法:「除8取餘」

十進位制整數→→→→→十六進位制方法:「除16取餘」 例如:

(171)10=(253)8

(2653)10=(a5d)16

十進位制小數→→→→→八進位制小數 方法:「乘8取整」

十進位制小數→→→→→十六進位制小數方法:「乘16取整」例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3c8)16

3.非十進位制數之間的轉換

(1)二進位制數與八進位制數之間的轉換

轉換方法是:以小數點為界,分別向左右每三位二進位制數合成一位八進位制數,或每一位八進位制數展成三位二進位制數,不足三位者補0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二進位制與十六進位制轉換

轉換方法:以小數點為界,分別向左右每四位二進位制合成一位十六進位制數,或每一位十六進位制數展成四位二進位制數,不足四位者補0。例如:

(abcd。ef)16=(1010 1011 1100 1101.1110 1111)2

(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5b4b。68)16

二進位制八進位制十六進位制十進位制之間的轉換

二進位制的1101轉化成十進位制 1101 2 1 2 0 0 2 1 1 2 2 1 2 3 1 0 4 8 13 轉化成十進位制要從右到左用二進位制的每個數去乘以2的相應次方 不過次方要從0開始 十進位制轉二進位制 用2輾轉相除至結果為1 將餘數和最後的1從下向上倒序寫 就是結果 例如302 3...

誰知道二進位制與十進位制八進位制十六進位制之間怎麼轉換的

有2種方法,可以直接用計算機輸出,可以手動計算 1 先來最簡單的,下邊是在vc6.0用c語言寫成的,就是使用格式符輸出 d為10進位制,o為8進位制,x為16進位制 includemain 有缺點就是小數和2進位制轉換不了 2 手動轉換,括號外的表示進位制是標記,10 2,表示2進位制碼10 r進位...

兩儀四象八卦和二進位制,八進位制,十六進位制有關係嗎

太極理論有實bai與虛兩部分。無極生太極du,太極生兩zhi儀,這是實數的變dao化。而兩儀生四象專,四象生八屬卦,以及八卦的細拆則是虛數的變化。實數一般是不可變替的,無 太 兩,都只能是這種數 量精準的表達。而虛數卻是可以變替的,像 四 八,這些元素可增也可減,並不是說象就一定要是四象,就不能是五...