1樓:何老師**答疑
十進位制轉二進位制可以使用庫函式itoa。
itoa函式原型:char*itoa(int value,char*string,int radix);
功能:將任意型別的數字轉換為字串。在中與之有相反功能的函式是atoi。
nt value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進位制數,如2,8,10,16 進位制等。
擴充套件資料:
方法#include
int main(void)
printf("十進位制整數轉換為二進位制數是:\n");
for(i--;i>=0;i--)
printf("%d",a[i]);
printf("\n");
return 0;}
十進位制整數轉換為二進位制整數的方法:
十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。
具體做法是:用2去除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。
2樓:彭珂的課堂
c語言_010_二進位制轉十進位制_上
3樓:魯禮常胭
使用庫函式itoa。
itoa函式原型:char
*itoa(int
value,char*string,intradix);
功能:將任意型別的數字轉換為字串。
其中int
value
被轉換的整數,char
*string
轉換後儲存的字元陣列,int
radix
轉換進位制數,如2,8,10,16
進位制等。
參考**:
#include
#include
int main()
/*執行結果:把十進位制的15轉成2進位制
151111*/
4樓:泰恬仰清秋
樓主最先求出來的,就是最低位。
可用個陣列,依次存放各個位,然後倒次序著顯示,就可以得到正確的次序。
但是不如下面的簡單:
#include
#include
main()
5樓:ma饅頭
把十進位制變成二進位制是反覆取餘除2的,這種方法沒錯,但是應該逆序讀出0或1的序列,才是正確的。
語法正確,邏輯錯誤。不信在紙上算一下就能看出來了。
6樓:慮而後能得
#include
void to_binary(unsigned long n);
int main(void)
printf("done \n");
return 0;
}void to_binary(unsigned long n)此為標準程式
#include
#include
int main(void)
a[i++] = '1';
a[i++] = '\0';
m = strlen(a);
for(i=m-1; i>=0; i--)printf("%c",a[i]);
printf("\n");
printf("please enter an integer(q to quit):\n");
}printf("bye!\n");
return 0;
}此為我自己做的,可以節省記憶體。
7樓:
呵呵這樣做的確輸出的是反過來的數
方法一:
可以利用陣列順序儲存轉換過程中依次得到每個數字位,轉換結束後再按相反的次序輸出陣列內容即可得到正確的結果。
方法二:
直接搞掂,這才叫強!!!
且看我如何強法!!
#include
void trans(int x)
while(x!=0);//這個演算法看你的**知道你懂!:)while(i>0)
printf("%d",a[--i]);
printf("\n");//這就是我的精華了,倒輸出正確順序的數~}void main()
我覺得樓主的水平也不差,
應該看得懂吧
我只是加了幾句而已
加分哦:)
8樓:飛天星星小子
#include
void main()
while(a>0);
putchar('\n');
printf("your binary number is :");
for(b=x-1;b>=0;b--);
}我自己寫出來了誒,好開心啊!!!
9樓:匿名使用者
可以用遞迴的方法來解決這個問題
c語言程式設計,如何將十進位制轉化為2進位制
10樓:匿名使用者
c語言程式設計將十進位制轉化為2進位制可按手工轉換規則進行程式轉換。
整數佔四個位元組,每位元組8位,共32位。所以,可以定義一個32位的陣列來儲存轉換結果。
迴圈將整數進行除2取餘數,餘數儲存到陣列中。
當整數整除為0時,結束迴圈
逆序輸出陣列,得到轉換結果
參考**:
#include
void main()
while(n!=0) ;
for(i--;i>=0;i--)
printf("%d",c[i] );
printf("\n");}
11樓:匿名使用者
//do while把for改改
#include
#include
//函式宣告
void tenttwo(int x);
void main()
//函式實現
void tenttwo(int x)
while(x!=1);
d[num]=1; //最後一個數為1
/* for(j=0;j<1000;j++)num++;
}*///num++;
//逆向輸出陣列中的資料拼接成二進位制數
for(j=num;j>=0;j--)
printf("%d",d[j]);
printf("\n");}
12樓:
//#include "stdafx.h"//vc++6.0加上這一行.
#include "stdio.h"
void dfs(int k)
void main(void)
13樓:知道不知道巨蟹
#include "stdio.h"
#define stacksize 100typedef int elemtype;
typedef struct sqstack;
initstack(sqstack *ps)int push(sqstack *ps,elemtype e)int pop(sqstack *ps,elemtype *pe)main()
while(n);
while(pop(&s,&e))
printf("\n");
return 0;}
14樓:閒來無事
#include
#include
void main()
while (iinput);
printf("\n結果
:%d", iresult);}
15樓:super遊戲大神
int i=0;
char b[32]=;
while(n!=0)
c語言程式設計,如何將十進位制轉化為2進位制
16樓:習溫虢綢
#include
"stdio.h"
#define
stacksize
100typedef
intelemtype;
typedef
struct
sqstack;
initstack(sqstack
*ps)
intpush(sqstack
*ps,elemtype
e)int
pop(sqstack
*ps,elemtype
*pe)
main()
while(n);
while(pop(&s,&e))
printf("\n");
return0;}
一道c語言程式設計題,將十進位制轉換為二進位制
17樓:匿名使用者
1、開啟visual c++ 6.0-檔案-新建-檔案-c++ source file。
2、定義陣列
和變數:#include #include void main()/*定義陣列a,元素初始值為0*/system("cls");/*清屏*/。
3、輸入十進位制數:printf("請輸入一個十進位制數輸入n的值*/。
4、計算二進位制數:for (m = 0; m < 15; m++)/*for迴圈從0到14,最高為符號位,本題始終為0*/。
5、最後執行一下看看結果,就完成了。
18樓:四舍**入
將十進位制轉換為
二進位制可以參考下面的**:
方法一#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");}
19樓:匿名使用者
#include
int a[8];
int main()
void binary(int n)
for(j=i;j>=0;j--)}
c語言把二進位制數轉換成十進位制數的程式怎麼寫。
20樓:幻翼高達
需要bai準備的材料分別有:電腦、duc語言編譯器zhi。
1、首先,開啟daoc語言編譯器,新建一
回個初始答.cpp檔案,例如:test.cpp。
2、在test.cpp檔案中,輸入c語言**:int a = 0b10000001;printf("%d", a);。
3、編譯器執行test.cpp檔案,此時輸入的8位二進位制數被成功用十進位制進行了輸出。
21樓:_死_性_不_改
按照如下步驟即可用c語言把二進位制數轉換成十進位制數的程式:
1、首先在主內函式中設定成容函式sum,另外定義了一個陣列array[8],用於存放輸入的八位二進位制數。
2、然後使用了一個for迴圈語句,用於輸入八位二進位制數。在scanf函式裡,在%d之間加一個1,然後使用printf函式輸出,並且呼叫sum函式,陣列名作為實參。
3、在sum函式中,宣告瞭一個power函式,在這裡n為指數,term為每一位數轉換為十進位制後的的數,如1*(2*2),sum為總和。
4、然後使用一個for迴圈語句,i用於控制迴圈的次數,n從最高的指數7開始每次迴圈減一,如果指數大於或等於零的,就進行迴圈,呼叫power函式時,將n作為實參,最後將和返回。
5、在power函式中,如果b等於零,即指數為零,則返回1,否則就進入一個迴圈,j用於控制迴圈次數。
6、最後看一下執行結果,這個c語言程式既可以把二進位制數成功轉換成十進位制數了。
22樓:匿名使用者
#include
int main()
// wut infomation school of engineering;
23樓:小八
隨便輸入一抄
個2進位制bai
#include
#include
int main()
else
二進位制轉十進位制演算法,二進位制轉十進位制演算法 01100000 00101100 01011000 11001010要具體演算法過程 文字解釋不給
從左往右算,左邊一位乘以2加上後一位,依次算下去 01100000 0 2 0 0 2 1 0 2 2 0 2 3 0 2 4 1 2 5 1 2 6 0 2 7 96 00101100 0 2 0 0 2 1 1 2 2 1 2 3 0 2 4 1 2 5 0 2 6 0 2 7 44 01011...
c語言裡,八進位制,十六進位制,二進位制,十進位制怎麼互
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 c語言裡,注意,說...
計算二進位制 十進位制數,二進位制轉十進位制的演算法怎麼算?
的 應該這樣簡單 先把39轉換成十六進位制 27然後再將那個2的一位變成二進位制的四位 0010再把7那一位變成二進位制的四位 0111 所以39的二進位制就是0010 0111 把這個二進位制數從右到左分組,四位一組為1101 0111 0001 然後把每一組變成十進位制就成了d71h 這樣很快變...