c10進製轉換2進製,c 中將10進製轉化成 2進製如何表示

時間 2022-03-08 16:10:09

1樓:匿名使用者

1、既然寫了using namespace std;那麼include就不用寫.h了,

直接寫#include

using namespace std;

2、stdlib和math都用不到,不用include了。

3、i只是用作迴圈變數,int i就行了,開頭的double i導致重複定義,刪除掉.

4、最後輸出時,最好把endl放在迴圈外面,否則輸出乙個0、1就換一行,太難看了。

2樓:拓跋乃

參考**如下:

#include

using namespace std;

int main ()

else continue;

} for(int j=i; j>=0; j--){ cout<>decimal;

cout <<"output binary is: ";

cout<

system("pause");

return 0;

3樓:

1。標頭檔案不需要帶.h;

而且只需要乙個標頭檔案iostream

using namespace std; 不需要去掉;

2。變數i由於是區域性變數,只在迴圈體中有效,所以無法進入下乙個迴圈體,所以應該獨立申請在前面

3。去掉輸出**中的endl,在**段外獨立新增乙個endl就可以了

4樓:

hi mate upstair.

don't give him rubish, ok?

c++中將10進製轉化成-2進製如何表示

5樓:匿名使用者

我不知道你是想把10進製轉成2進製還是轉成-2進製,總之兩個都寫給你了,你自取所需

如果是轉2進製,參考dec2bin()函式

如果是轉-2進製,參考dec2mbin()函式,關於-2進製的轉法**下面會給出,一般用於競賽中,如果你是手誤,只想要2進製轉法**的話可以無視這個。。

#include

using namespace std;

//10進製轉-2進製

void dec2mbin(int a)

dec2mbin(a);

cout << ys;}}

//10進製轉2進製

void dec2bin(int a)

}int main()

{int a;

cout << "輸入乙個10進製數:" << endl;

cin >> a;

cout << "轉化為-2進製數:"<

下面是對-2進製的解釋:

首先你要理解-2進製是什麼概念。。

比如:-2進製的1010111轉10進製就是

1*(-2)^0 + 1*(-2)^1 + 1*(-2)^2 + 0*(-2)^3 + 1*(-2)^4 + 0*(-2)^5 + 1*(-2)^6 = 83

因此10進製的83就等於-2進製的1010111,那麼反過來怎麼做?

其實還是短除法

根據定義有:被除數 = 除數 * 商 + 餘數  (式1)

餘數的符號與被除數一致

正進製的情況下,除數一定是正數,得到的餘數也一定是正數,

但是負進製的情況下,除數是負數,會導致下一次的被除數變負,得到的餘數有可能也是負數

這裡餘數為負數需要特別處理,必須轉化到非負數[0, abs(-2)]上去才能表示出來。

這裡轉化方法如下:令商加1,餘數減去除數,即將上述(式1)化為:

被除數 = 除數 * (商+1) + (餘數-除數)

即可。舉例來說:83轉-2進製:

83 / -2 = -41 .. 1

-41 / -2 = 20 .. -1,因為是負數,實際上應該是 -41 / -2 = 21 .. 1 (商20+1=21, 餘數-1-(-2)=1)

21 / -2 = -10 .. 1

-10 / -2 = 5 .. -0

5 / -2 = -2 .. 1

-2 / -2 = 1 .. -0

1 / -2 = 0 .. 1

所以10進製的83轉為-2進製結果是1010111

有演算法後寫程式就簡單了。

6樓:匿名使用者

在c++中,int a=5;

對於變數a來說,其實是沒有進製之分的,非要說的話,他就是2進製的一段資料,進製只表現在輸出形式上

如果你是想說如何輸出成2進製的,那可以這樣int a = 5;

char szbin[128];

itoa(a,szbin,2);//轉成2進製的字串printf(szbin);

十進位制轉二進位制的c++語言表達

7樓:匿名使用者

#include

using namespace std;

void b()

for(num=i-1;num>=0;num--)cout<

8樓:匿名使用者

b改成main吧,不然組建報錯~

c++十進位制轉化二進位制寫法

9樓:匿名使用者

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2整除十進位制整數,可以得到乙個商和餘數;再用2去除商,又會得到乙個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

例如:#include

using namespace std;

void main()

for(i=j-1;i>=0;i--)//逆序輸出cout<

10樓:飛絮落花時候丶

#include

int binarynum[16];  //存放轉換後得到的二進位製碼int count=0;  //計數十進位制整數被2除的次數int onecount=0;  //得到的二進位製碼中1的個數void main()

binarynum[count+1] = 1;  //最後一次除法做完以後,剩下的商一定是1,所以在最後手動新增乙個1

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

//倒序列印出陣列中的元素

// sizeof(整形陣列)/sizeof(整形單個元素大小) = 陣列的元素個數

for( int i=sizeof(binarynum)/sizeof(int)-1; i>=0; i-- )

printf("\n共有%d個1\n",onecount);}

11樓:

#include

int conversion(int dec)else

return 0;

}int main( void )

12樓:

你這明明是c,**是c++

用c++輸入乙個十進位制數,將其轉換為二進位制數輸出。

13樓:匿名使用者

十進位制數轉換為二進位制數的**為:

#include 〈iostream〉

#include 〈bitset〉

int main()

擴充套件資源:**中所使用的庫函式-bitset:

c++語言的乙個類庫,用來方便地管理一系列的bit位而不用程式設計師自己來寫**。

bitset除了可以訪問指定下標的bit位以外,還可以把它們作為乙個整數來進行某些統計。

可以如下宣告乙個該型別變數:

bitsetvarm (m)

其中varm為變數名。

n表示該型別在記憶體中佔的位數,是二進位制。

m表示變數varm的初始值。

參考資源:

14樓:大野瘦子

#include

void main()

int transfer(int x)

}return y;

}反之,二進位制轉化為十進位制

#include

using namespace std;

#include

int main()

15樓:

一、問題描述

十進位制數是指各位

數字全部由小於10的數字(0..9)組成的數值,如123、45678等。二進位制數是指各位數字全部由小於2的數字(0..

1)組成的數值,如10、1011等。將十進位制數轉換為二進位制數是將全部由小於10的數字組成的數值轉換為全部由小於2的數字組成的數值,如十進位制數100轉換為二進位制數為1100100。

二、演算法思想

將十進位制數轉換為二進位制數的演算法是採用輾轉取餘法,即將待轉換數不斷除2取餘,記錄餘數,用新的商繼續除2取餘,直到該數為零。由於餘數小於2,故所有餘數組成的數值全部由0、1組成。再對這些餘數進行逆置即可。

//輾轉取餘

while(num > 0)

//逆置餘數列表

for(i=0; i

三、參考程式

#include

#include

#define max 33

using namespace std;

/* 十進位制數轉換為二進位制數(字串表示) */char *dectobin(long num);

int main()

for(i=0; i

四、執行測試:

10進製數:       1234567892進製數:        111010110111100110100010101

16樓:匿名使用者

以前上學的時候寫過的乙個,你參考一下 #includeusing namespace std;

17樓:匿名使用者

#include

//十進位制數轉換成二

進製數字

void fun_1(int n)

}//主函式

void main()

吧沒有用的刪除即可,其他的只是擴充套件.....

18樓:匿名使用者

#include void main()

{int sec(int n);

int i;

cout<<"請輸入個10進製數:";

cin>>i;

sec(i);

cout<參考....

19樓:匿名使用者

直接用格式化輸出就可以啊

c++中10進製怎麼轉換為2進製?

20樓:

不斷的除2求餘,再把餘數除2求餘,直到除盡或餘數為1停止#include "iostream.h"

void main()

;if(x==0)

while(x>0)

cout<<"轉換的二進位制數為:";

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

cout<

21樓:du瓶邪

//關於轉換為2進製的進製計算

#include

#include

using namespace std;

void main()

}else

s.push(48);//多輸入乙個0即可}while(!s.empty())

cout<

22樓:浪漫10o天

你是要以二進位制形式輸出還是怎麼??

c++十進位制轉二進位制

23樓:匿名使用者

這種程式結構的話,應該把二進位制位儲存到乙個陣列中,然後再逆序輸出陣列元素。(dec轉bin的演算法是除以2取餘數,並將餘數倒排)

下面提供乙個用bitset實現的程式:

#include

#include

using namespace std;

void main()

24樓:

#include

using namespace std;

void fun(int num)

十進位制數如何轉換為八進位制數,10進製轉8進製方法

和添錦 一般我都會先轉為二進位制,然後再轉為八進位制。例如十進位制27,在進行轉換時我會這麼做 27介於16和32之間 16和32是2的整數次冪 那麼27 16 1 8 1 4 0 2 1 1 1 其中16,8,4,2,1均是2的整數次冪 我把16,8,4,2,1後面的乘數按從大到小寫下來 1101...

十進位制數10轉換成二進位制是多少,十進位制數127轉換成二進位制數是( )

布清安桂妝 二進位制數有兩個特點 它由兩個基本字元0,1組成,二進位制數運算規律是逢二進一。為區別於其它進製數,二進位制數的書寫通常在數的右下方注上基數2,或加後面加b表示。例如 二進位制數10110011可以寫成 10110011 2,或寫成10110011b,對於十進位制數可以不加註.計算機中的...

c10混泥土立方水泥配合比是多少

不知道你所用的水泥標號 只能舉例設計 以下不應直接用於生產 僅供參考 例 且實測混凝土拌合物的表觀密度為2360kg m 也就是每m 總重量 原材料規格 水泥 42.5 砂 二區中砂 石 碎石5 20 外加劑 萘系 如以下設計配合比標號為 c10 查表選用w 195kg m 或根據外加劑減水率假定用...