c語言十進位制數轉化為二進位制數,C語言 十進位制數轉化為二進位制數

2021-07-01 01:47:24 字數 3366 閱讀 8279

1樓:匿名使用者

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

#include "stdio.h"

void fun(int n)

int main()

/*執行結果:例如求10的2進位制

101010*/

2樓:tclxc天天

#include

void main()

while(a);

printf(\"\\n%d\\n\",result);

}程式在vc6.0下編譯通過可以直接用,你自己看看吧,思路是a%2的結果是二進位制的個位數,(a/2)%2的結果是二進位制的十位數所以p擴大10倍,以後依次類推。

3樓:刀珈藍兔兔

#include

int main()

return 0;

}void fun(int num)}

c語言程式設計,將十進位制整數轉化為二進位制

4樓:匿名使用者

首先需要明確十進位制轉為二進位制的演算法:將所需轉化的數除以2,所得餘數為k1,將所得商再除以2,所得餘數為k2…...重複步驟直到商為0;讀數時從最後一個餘數讀起,即kn,k(n-1)…k2,k1;所得數便是轉化成的二進位制數(除二取餘法)

c語言的十進位制數轉換成二進位制的數?

5樓:蠻忻愉符芃

因為是程式!每一步都很重要!你的這個是把十進位制數轉換為二進位制程式!如果調換位置程式會無法執行!或者得不到預期結果!

6樓:段幹睿思彤瑗

先說為什麼不能交換。10進位制轉換為2進位制,短除法。

假如輸入一個數n,我們第一步應該用n除以2,取模。在用第一步的商,作為除數,除以2,再取它的模,依次下去。

因為總共取了i次模,所以是j=i-1

7樓:太叔哲美竇濯

j=i-1是因為你上面的迴圈內a[i]賦值後i++才判斷迴圈是否結束,故迴圈結束時i是多加了1的,所以賦值給j時得減1.

a[i]=n%2;

n=n/2;換了位置的話輸出就是少了一位。n=n/2;是改變了n的值的,開始還沒有提取出一位就改變n的值,顯然是錯誤的!

一道c語言程式設計題,將十進位制轉換為二進位制

8樓:匿名使用者

1、開啟visual c++ 6.0-檔案-新建-檔案-c++ source file。

2、定義陣列

和變數:#include #include void main()/*定義陣列a,元素初始值為0*/system("cls");/*清屏*/。

3、輸入十進位制數:printf("請輸入一個十進位制數(0~32767):\n");scanf("%d", &n);/*輸入n的值*/。

4、計算二進位制數:for (m = 0; m < 15; m++)/*for迴圈從0到14,最高為符號位,本題始終為0*/。

5、最後執行一下看看結果,就完成了。

9樓:四舍**入

將十進位制轉換為

二進位制可以參考下面的**:

方法一#include

int a[8];

int main()

void binary(int n)

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

}方法二

#include

int main()

int e;

for(e=100;e>=0;e--)

printf("十進位制數%d轉換成二進位制數為:",l);

int i;

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

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

printf("\n");}

10樓:匿名使用者

#include

int a[8];

int main()

void binary(int n)

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

如何用c語言將十進位制數轉換為二進位制數

11樓:慣性俺

#include

long int btd(char *s) /*將以字串形式儲存在s地址中的二進位制數字轉換為對應的十進位制數字*/

c語言 將十進位制數轉化為二進位制數 程式**

12樓:匿名使用者

#include

void main()

while(a);

printf(\"\\n%d\\n\",result);

}程式在vc6.0下編譯通過可以直接用,你自己看看吧,思路是a%2的結果是二進位制的個位數,(a/2)%2的結果是二進位制的十位數所以p擴大10倍,以後依次類推。

13樓:匿名使用者

main()

for(;m>=0;m--)

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

}初學,共同進步

如何通過c語言將十進位制數轉化為二進位制數

14樓:黑貓

#include

void trans(int x)

while(x!=0);//這個演算法看專你的**知道你懂!:)屬while(i>0)

printf("%d",a[--i]);

printf("\n");//這就是我的精華了,倒輸出正確順序的數~}void main()

{int d;

printf("請輸入一個十進位制的正整數:\n");

do scanf("%d",&d);while(d<0);

trans(d);

詳見以下參考**

15樓:

#include

void fun(int n)

int main()

16樓:匿名使用者

1、可以不斷與2取模!

2、也可以採用位運算子》

17樓:匿名使用者

這是個bai例du子,希望zhi有用吧dao!試下內啊#include

#include

using namespace std;

int main()

printf("\n");

return 0;}

十進位制數字15轉化為二進位制數是什麼

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

十進位制轉二進位制原理,十進位制轉二進位制的這方法的數學原理是什麼啊?求大神詳解!

用2輾轉相除至結果為1 將餘數和最後的1從下向上倒序寫 就是結果 例如302 302 2 151 餘0 151 2 75 餘1 75 2 37 餘1 37 2 18 餘1 18 2 9 餘0 9 2 4 餘1 4 2 2 餘0 2 2 1 餘0 故二進位制為100101110 二進位制轉十進位制 從...

十進位制轉化二進位制會有精度損失嗎,十進位制轉二進位制為什麼有時會存在誤差

因為在十進位制小數中除了特定的一些數值之外,絕大多數都無法用二進位制小數精確表達,所以很多情況下,十進位制小數轉換成二進位制小數是會有精度損失的。十進位制轉二進位制為什麼有時會存在誤差 只有小數10轉2時存在誤差,不是所有的十進位制小數能完全轉換成二進位制小數的,如 0.3d 約為 0.010011...