編寫程式,要求使用者輸入十進位制正整數,然後分別轉換成為

2021-03-06 05:53:50 字數 6175 閱讀 5759

1樓:匿名使用者

樓上的太複雜了吧!c的話直接這樣:

main()

printf("二進位制為%s",x);}

2樓:

這段**是我用c語言寫的,可以實現多個功能的進位制轉換,你參考參考:

#include

#include

#include

void menu();

int bintobex(char str[100],int b);

char * bextobth(int n,int b);

int main()

while(x>12||x<0);

char str[100];

int n;

switch(x)

}return 1;

}void menu()

int bintobex(char str[100],int b)str[i]=0;

len=strlen(str);

for(i=0;i

return str;}

3樓:可の獨角

你是用什麼語言的啊?如果沒有直接轉換的話一般方式如下:

對於轉換成n進位制的數s,先讀入數字,判斷它在n^a與n^(a+1)之間,令m=0,然後進行迴圈:m=m*10; s div n^a得到的數值存入m,令n為n mod n^a; a=a-1;直到n為0

將二進位制數(110110010.100101)b分別轉換成八進位制,十進位制,十六進位制

4樓:水瓶一頭老母豬

^^1、二進位制轉為八進位制

110110010.100101(2)→110'110'010.100'101(2)=662.45(8)。

2、二進位制轉為十進位制

110110010.100101(2)=1*2^8+1*2^7+0*2^6+1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0+1*2^(-1)+0*2^(-2)+0*2^(-3)+1*2^(-4)+0*2^(-5)+1*2^(-6)

=256+128+0+32+16+0+0+2+0+1/2+0+0+1/16+0+1/64

=434.578125(10)。

3、二進位制轉為十六進位制

110110010.100101(2)→1'1011'0010.1001'01(2)→0001'1011'0010.1001'0100(2)

=1b2.94(16)。

進位制/位置計數法是一種記數方式,故亦稱進位記數法/位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數(en:radix)或底數,基數為n,即可稱n進位制,簡稱n進位制。

現在最常用的是十進位制,通常使用10個阿拉伯數字0-9進行記數。

5樓:

^110110010.100101(2)→110'110'010.100'101(2)=662.45(8)。

110110010.100101(2)=1*2^8+1*2^7+0*2^6+1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0+1*2^(-1)+0*2^(-2)+0*2^(-3)+1*2^(-4)+0*2^(-5)+1*2^(-6)

=256+128+0+32+16+0+0+2+0+1/2+0+0+1/16+0+1/64

=434.578125(10)。

110110010.100101(2)→1'1011'0010.1001'01(2)→0001'1011'0010.1001'0100(2)

=1b2.94(16)。

6樓:毛來福養雲

用除2(8,16)求餘法,

意思是,

比如八進位制的:

79/8=9....7

9/8=1...1

所以,117就是八進位制的,相當十進位制的79;

二進位制的:

79/2=34...1

34/2=17...0

17/2=8....1

8/2=4...0

4/2=2...0

2/2=1...0

1/1=0...1

所以是:1000101

編寫c#程式,要求使用者輸入一個十進位制正整數,然後分別轉換成為二進位制數,八進位制數和十六進位制數輸出 5

7樓:匿名使用者

int num = 10;//數字10轉換如下string result1 = convert.tostring(num, 2); //二進位制結果為 1010

string result2 = convert.tostring(num, 8);//八進位制結果為 12

string result3 = convert.tostring(num, 16);//十六進位制結果為 a

8樓:現實夢想的抉擇

public void shownumber()}}

使用者輸入一個十進位制正整數,然後分別轉換成為二進位制數、八進位制數和十六進位制數輸出。(是c++,不是c)

9樓:匿名使用者

#include

using namespace std;

int main()

cout<十六進位制使用格式化輸出即可,oct表示八進位制,hex表示十六進位制

cout<

cout<

}如果有不懂請追問。

10樓:支景明孔茶

確定問題沒有什麼別的要求??比如說111可以是二進位制也可以是八進位制和十六進位制。。。

11樓:匿名使用者

有一個轉換函式很好用:

char *itoa(int value, char *string, int radix);

int value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進位制數,如2,8,10,16 進位制等

標頭檔案: itoa操作使用

但注意:這個不是c++標準庫函式,只能在visual c++系列編譯器環境下使用

想在gcc上做的話,可以設定輸出格式,也可以自己編函式進行轉換……

12樓:匿名使用者

有輸出格式設定的,

#include

#include

int main()

編寫一個程式,然後分別轉換成為二進位制數,八進位制數和16進位制數輸出。謝謝了我才學到c++第二章,請用

13樓:匿名使用者

#include

using namespace std;

int n,a[100];

int main()

cout<=1;i--)

cout<0)

cout<=1;i--)

cout<0)

cout<=1;i--)

{if (a[i]>9)

{char t=a[i]+55;

cout<

14樓:匿名使用者

#include

#include

#include

char h=;

int main()

puts("轉換為2進位制數結果:");

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

printf("\n");

//---------------------------------------

n=0; d=d0;

while(d>0)

puts("轉換為8進位制數結果:");

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

printf("\n");

//---------------------------------------

n=0; d=d0;

while(d>0)

puts("轉換為16進位制數結果:");

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

printf("\n");

return 0;

}執行結果:

請輸入一個10進位制數:

111111

轉換為2進位制數結果:

11011001000000111

轉換為8進位制數結果:

331007

轉換為16進位制數結果:

1b207

c++ 編寫一個程式,將使用者輸入的十進位制整數轉換成任意進位制的數。

15樓:匿名使用者

1、首先,定義四個整型變數,儲存十進位制整數、二進位制整數等計算值。

2、給變數i和二進位制數賦初值,值為0。

3、接著,輸入一個十進位制整數。

4、用while語句判斷,條件為十進位制數是否為零。

5、當十進位制數不為零時,對十進位制數用2求餘,儲存在變數d中。

6、十進位制數除以2,使數值縮小為原來的二分之一。

7、輸出十進位制數所對應的二進位制數。

8、執行程式,輸入任意一個十進位制整數,計算機就會輸出對應的二進位制數。

16樓:oo墨色傾城

#include//我這個程式只針對2~16進位制的轉換using namespace std;

char str[17]=; //為了使程式簡化而提前定義將會輸出的數字

int main()

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

cout<

}程式已近經過我自己驗證後,無錯誤!

如果還需要加另外的功能,請lz自行修改即可。

17樓:匿名使用者

%x是十六進位制,%o是八進位制,其他的要用ls的方法計算啦

程式設計實現:輸入一個十進位制數,轉換成對應的二進位制數、八進位制數和十六進位制數並輸出。

18樓:墨汁諾

1、#include

using namespace std;

int main()

cout

cout

2、main()

printf("二進位制為%s",x);}

19樓:匿名使用者

以下是c++的:

#include

using namespace std;

int main()

cout<六進位制使用格式化輸出即可,oct表示八進位制,hex表示十六進位制

cout<

cout<

c語言編寫一個程式,將十進位制整數n 轉換成二進位制數

20樓:匿名使用者

#include

int transfer(int x)

}return y;

}void main()

擴充套件資料:

c語言書寫規則:

1.一個說明或一個語句佔一行。

2.用{} 括起來的部分,通常表示了程式的某一層次結構。{}一般與該結構語句的第一個字母對齊,並單獨佔一行。

3.低一層次的語句或說明可比高一層次的語句或說明縮排若干格後書寫。以便看起來更加清晰,增加程式的可讀性。在程式設計時應力求遵循這些規則,以養成良好的程式設計風格。

21樓:匿名使用者

#include

#include

int main()

printf("%d",a);

return 0;}

22樓:匿名使用者

將輸出的內容先放置到一個陣列中,最後陣列反序輸出

23樓:游龍科技工作室

#include//十進位制數轉化為二進位制數void to_binary (int n); //binary n.二進位制的;雙的

int main ( void )

printf("完成");

return 0;

}void to_binary(int n)

編寫程式,利用sub過程把任意十進位制整數n分別轉化為二進位制,八進位制,十六進位制數

private sub text1 change dim n if len text1 0 and isnumeric text1 then n val text1 dec to bin n dec to oct n dec to hex n else text1 end if end sub su...

c 編寫程式將十進位制數轉化為八位二進位制輸出(要求用main

includeint oer int a,int b return i int main 使用者輸入一個十進位制正整數,然後分別轉換成為二進位制數 八進位制數和十六進位制數輸出。是c 不是c include using namespace std int main cout 十六進位制使用格式化輸出...

用c語言編寫二進位制轉換十進位制的程式

1 為了完成進位制的轉換,在主函式中宣告瞭個函式sum,主要用於將二進位制的每一位轉換為十進位制後的數相加,返回值就是相加後的和。另外定義了一個陣列array 8 用於存放輸入的八位二進位制數。2 然後使用了一個for迴圈語句,用於輸入八位二進位制數。3 在sum函式中,又宣告瞭一個power函式,...