當前位置:首頁 » 編程語言 » c語言二進制相加的方法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言二進制相加的方法

發布時間: 2022-11-21 18:02:59

1. c語言如何實現二進制相加問題

用數組來做就是了,byte數組或bit數組,先將數模2運算得到各位的值,存入數組中,之後一個循環來做二進制加減法就成了,溢出的判斷也很簡單,根據兩個運算數的模與他們的符號,還有所進行的運算,用幾個if語句就解決了

2. C語言,利用函數實現將二進制數轉化為十進制數並實現相加。

1、2進制10進制的轉換方法:
二進制數1101轉十進制:
1×2的三次冪+1×2的二次冪+0×2的一次冪+1×2的零次冪=8+4+0+1=13
附加一個八進制轉十進制的例子吧:
507(八進制轉10進制):
5×8的2次冪+0×8的1次冪+7×8的0次冪=
5×64+0×8+7×1=327(10進制)

2、常式:

#include"stdio.h"
doubleBtoD(charB[])
{
doubled=0;//轉為十進制數的中間結果變數
inti=0;//當前求到了二進制數的位置
while(B[i++]!='')//當沒有到二進制數結束時,一直循環
{
d=d*2+B[i-1]-Ɔ'//求出每個二進制位的位權(從高位到低位,所以每求一位,先前的都應變為原來的2倍),累加到中間結果
}
returnd;//返回最終結果
}
intmain()
{
charb1[20],b2[20];//定義兩個二進制數字元串
scanf("%s%s",b1,b2);//輸入兩個字元串
printf("%.0lf",BtoD(b1)+BtoD(b2));//輸出兩個二進制數轉為十進制數後的和
}

3. C語言二進制加法

其實不難的。除非玩單片機,否則一開始沒必要學二進制計算,遇到的時候了解一下即可。

4. 我想用c語言寫一個二進制數加一個二進制數,輸出的答案仍然是二進制數的程序……

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"string.h"
intmain(void){
chara[34],b[34],i,j,*ps,*pl;
printf("Input2binarynumbers(No01end)... ");
while(*a=*b='0',scanf("%[01]%[01]",a+1,b+1)>0){
(strlen(a+1)>=strlen(b+1))?(pl=a,ps=b):(pl=b,ps=a);
printf("%s+%s=",a+1,b+1);
for(i=strlen(pl+1),j=strlen(ps+1);j>0;j--,i--)
if((pl[i]+=ps[j]-'0')>'1')
pl[i]-=2,pl[i-1]++;
for(;i>0;i--)
if(pl[i]>'1')
pl[i]-=1,pl[i-1]++;
elsebreak;
printf("%s ",*pl!='0'?pl:pl+1);
}
return0;
}

5. 用c語言編寫:將二個二進制數相加

僅供參考

6. c語言二進制數的加減運算

1、二進制加法基本指令
(1)ADD指令
格式:ADD DST,SRC
該指令把源操作數(SRC)指向的數據與目的操作數(DST)相加後,將結果放到目的操作數(DST)中,所執行的操作:(DST)ß(SRC)+(DST)
SRC和DST不能同時為存儲器操作數和段寄存器,同時SRC和DST的數據類型要匹配,要同是位元組或字。受影響的標志位有:OF,SF,ZF,AF,PF,CF。
(2)ADC指令
格式:ADC DST,SRC
所執行的操作:(DST)ß(SRC)+(DST)+CF 了解清楚進位是怎樣加的
該指令把兩個操作數(SRC和DST)相加以後,再加上進位標志CF,將結果放到目的操作數(DST)中。受影響的標志位有:OF,SF,ZF,AF,PF,CF。ADC指令多用於多精度數據相加。
2、二進制減法基本指令
(1)SUB指令
格式:SUB DST,SRC
所執行的操作:(DST)ß (DST)-(SRC)
該指令把源操作數(SRC)指向的數據與目的操作數(DST)相減後,將結果放到目的操作數(DST)中,SRC和DST不能同時為存儲器操作數和段寄存器(,同時SRC和DST的數據類型要匹配,要同是位元組或字。受影響的標志位有:OF,SF,ZF,AF,PF,CF。
(2)SBB指令
格式:SBB DST,SRC
(DST)ß (DST)-(SRC)-CF 了解清楚進位是怎樣減的
該指令把兩個操作數(SRC和DST)相減以後,再減去CF,將結果放到目的操作數(DST)中。受影響的標志位有:OF,SF,ZF,AF,PF,CF。SBB指令多用於多精度數據相加。

7. C語言二進制怎麼表示

c++中負數存儲時,不是簡單的將符號位置為1,而是採用補碼的形式存儲的,負數最高位為符號位,也就是1,其餘全部取反,然後再加1。

假如操作系統是32位,-1的二進制存儲不是:1000
0000 0000 0001,而是:1111 1111 1111 1110+1即1111 1111 1111 1111。

(7)c語言二進制相加的方法擴展閱讀:

C語言面向過程,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。

8. 二進制數的運算 C語言程序運算

用數組模擬就行。
思路:
1、將輸入轉化成二進制數,逆序存入數組中。
2、用兩數組模擬四則運算,並將運算的結果存入第三個數組中。
3、逆序輸出第三個數組。
希望對你有幫助!

9. c語言題目二進制加法求指教

1.首先不超過2的31次方,則只需要32位就夠了,不需要那麼大的數組。
2.x,y是int數組,'\0'就是0,怎麼能作為x,y的結束
3.你不是一開始就算出來x,y的長度了嗎,l1,l2,通過這個長度不就知道相加處理多少位了,
而且哪個長,最後再單獨處理哪個不就行了。
或者在一開始,就把長的放在x中,短的放在y中,最後總是處理x。

10. C語言編寫二進制加法

main()
{
int a.b;
scanf("%b%b",&a,&b);
printf("%b",a+b);
}