c語言中沒有二進(jìn)制的格式輸出符號.你可以用itoa函數(shù)很方便的將一個10進(jìn)制int轉(zhuǎn)變成二進(jìn)制字符串.如:inti;chars[128];scanf("%d",i);itoa(i,s,2);/*3個參數(shù),第一個是待轉(zhuǎn)換的數(shù),第二個是存放轉(zhuǎn)換后的字符串,第三個即需要轉(zhuǎn)換的進(jìn)制*/printf("該數(shù)轉(zhuǎn)換為二進(jìn)制是:[%s]\n",s);補(bǔ)充一點(diǎn),itoa函數(shù)的頭文件是stdlib.hjava中二進(jìn)制數(shù)可以用0b來表示,主要的是你要注意0b后面的數(shù)字不能有超過1小于0的數(shù)。舉個列子吧看下面的代碼:publicclassJinZhi{publicstaticvoidmain(String[]args){inta10=12;inta8=0b12;System.out.println("十進(jìn)制12等于"+a10);System.out.println("八進(jìn)制12等于"+a8);}}該段代碼運(yùn)行時會報(bào)錯顯示0b后面的數(shù)字1和2之間沒有打“;”,這是因?yàn)?b的后面表示的數(shù)字是二進(jìn)制數(shù)不能出現(xiàn)超過1的數(shù)字。當(dāng)吧0b后面數(shù)字改成11111111(8個1)后,輸出了結(jié)果255
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括北戴河網(wǎng)站建設(shè)、北戴河網(wǎng)站制作、北戴河網(wǎng)頁制作以及北戴河網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,北戴河網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到北戴河省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
十進(jìn)制轉(zhuǎn)二進(jìn)制可以使用庫函數(shù)itoa。
itoa函數(shù)原型:char*itoa(int value,char*string,int radix);
功能:將任意類型的數(shù)字轉(zhuǎn)換為字符串。在stdlib.h中與之有相反功能的函數(shù)是atoi。
nt value 被轉(zhuǎn)換的整數(shù),char *string 轉(zhuǎn)換后儲存的字符數(shù)組,int radix 轉(zhuǎn)換進(jìn)制數(shù),如2,8,10,16 進(jìn)制等。
擴(kuò)展資料:
方法
#includestdio.h
int?main(void)
{ int?i=0,n,a[32];
printf("請輸入一個十進(jìn)制整數(shù).\n");
scanf("%d",n);
while?(n0)
{a[i]=n%2;
i=i+1;
n=n/2;? }
printf("十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)是:\n");
for(i--;i=0;i--)
printf("%d",a[i]);
printf("\n");
return?0;}
十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)的方法:
十進(jìn)制整數(shù)轉(zhuǎn)換為二進(jìn)制整數(shù)采用"除2取余,逆序排列"法。
具體做法是:用2去除十進(jìn)制整數(shù),可以得到一個商和余數(shù);再用2去除商,又會得到一個商和余數(shù),如此進(jìn)行,直到商為零時為止,然后把先得到的余數(shù)作為二進(jìn)制數(shù)的低位有效位,后得到的余數(shù)作為二進(jìn)制數(shù)的高位有效位,依次排列起來。
#include?"stdio.h"
int?main()
{
int?n;
int?i=0,j;
char?str[100]={0};
char?output[100]={0};
printf("請輸入一個整數(shù):");
scanf("%d",n);
while(n)
{
? ? ?str[i]=n%2+'0';
? ? ?n=n/2;
? ? ?i++;
}
for(j=0;ji;j++)
? ?output[j]=str[i-1-j];
printf("該整數(shù)的二進(jìn)制表示為:%s\n",output);
}
#include stdio.h
void main()
{
//進(jìn)制轉(zhuǎn)換函數(shù)的聲明
int transfer(int x);
int x;
printf("請輸入一個十進(jìn)制數(shù):");
scanf("%d",x);
printf("轉(zhuǎn)換成二進(jìn)制數(shù)是:%d\n",transfer(x));
}
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x2)
{
y+=x*p;
break;
}
}
return y;
}
擴(kuò)展資料:
(1)二進(jìn)制轉(zhuǎn)十進(jìn)制
方法:“按權(quán)展開求和”
【例】:
規(guī)律:個位上的數(shù)字的次數(shù)是0,十位上的數(shù)字的次數(shù)是1,......,依次遞增,而十分位的數(shù)字的次數(shù)是-1,百分位上數(shù)字的次數(shù)是-2,......,依次遞減。
注意:不是任何一個十進(jìn)制小數(shù)都能轉(zhuǎn)換成有限位的二進(jìn)制數(shù)。
(2)十進(jìn)制轉(zhuǎn)二進(jìn)制
十進(jìn)制整數(shù)轉(zhuǎn)二進(jìn)制數(shù):“除以2取余,逆序排列”(除二取余法)
【例】:
89÷2 ……1
44÷2 ……0
22÷2 ……0
11÷2 ……1
5÷2 ……1
2÷2 ……0
1
十進(jìn)制小數(shù)轉(zhuǎn)二進(jìn)制數(shù):“乘以2取整,順序排列”(乘2取整法)
參考資料:
百度百科-二進(jìn)制
當(dāng)前文章:c語言轉(zhuǎn)二進(jìn)制函數(shù),c語言如何轉(zhuǎn)化為二進(jìn)制
網(wǎng)站URL:http://sd-ha.com/article16/dssocdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、全網(wǎng)營銷推廣、電子商務(wù)、網(wǎng)站建設(shè)、網(wǎng)站收錄、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)