c++编写求一个字节的小数的原码,反码,补码程序

c++编写一个求一个字节的小数的原码,反码,补码程序
2025-04-15 09:06:09
推荐回答(1个)
回答1:

#include
main()

 char cc[8];
 int a[8],b[8],i,j,c=0;
 for(i=0;i<8;i++)
  {
  cin>> cc[i];
  a[i]=b[i]=cc[i]-48; 
  }
 if(a[0]==1)
 {
  cout<<"原码为:";
 for(i=0;i<8;i++)//原码
  cout<  cout<<"反码为:";
 cout<< "1"; 
 for(i=1;i<8;i++)//负数反补不同 
  {
  if(a[i]==0) //反码 
   cout<<"1";
  else
   cout<<"0";
  } 
 cout<<"补码为:";
 cout<< "1"; 
  if(b[7]==0) 
  {b[7]=0;c++;}
 if(c)
 {
  for(i=1;i<7;i++) 
  {
  if(b[i]==0) 
   b[i]=1;
  else
   b[i]=0;
  } 
  b[7]=0;
  b[6]++; 
  for(i=6;b[i]==2;i--)
  {
   b[i]=0;
   b[i-1]++; 
  } 
 
  for(i=1;i<8;i++)
   cout<  
 } 
 else 
 {
 for(i=1;i<7;i++) 
  {
  if(a[i]==0) 
   cout<<"1";
  else
   cout<<"0";
  } 
 cout<<"1"; 
 } 
 }
 else
 {
 cout<<"原码为:";
 for(i=0;i<8;i++)//正数原反补一样 
  cout< cout<<"反码为:";
 for(i=0;i<8;i++)
  cout< cout<<"补码为:";
 for(i=0;i<8;i++)
  cout< }
}