Sunday, October 18, 2009

Representations

#include<iostream>
#include<conio.h>

using namespace std;


void intrep(int);
void smag(int);
void comp2(int);

int main()
{
     int n,choice;
     L1:cout<<"enter a number";
     cin>>n;
     cout<<"\nInteger Representation:";
     intrep(n);
     cout<<"\nsign magnitude:";
     smag(n);
     cout<<"\n2's compliment";
     comp2(n);
     cout<<"\nDo you wish to continue:\n1.yesn2.no\nenter a choice:";
     cin>>choice;
     if(choice==1)
     {
                  goto L1;
                  }
     return 0;
    
}

void intrep(int n)
{
     int r[8];
     int i=7;
     if(n>=0)
     {
     while(n!=0)
     {
                r[i]=n%2;
                n=n/2;
                i--;
                }
     while(i>=0)
     {
                r[i]=0;
                i--;
                }
     for(i=0;i<=7;i++)
     {
                      cout<<r[i];
                    }
                    }
                    else
                    {
                        cout<<"No integer representation";
                        }
}
     
     
void smag(int n)
{
 if(n>=0)
 {
         intrep(n);
}
else
{
    n=n*-1;
 int r[8];
     int i=7;         
 while(n!=0)
     {
                r[i]=n%2;
                n=n/2;
                i--;
                }
     while(i>=0)
     {
                r[i]=0;
                i--;
                }
     r[0]=1;
     for(i=0;i<=7;i++)
     {
                      cout<<r[i];
                    }
                    }
}

void comp2(int n)
{
     if(n>=0)
     {
      intrep(n);
      }
      else
      {
          n=16-(n*-1);
          intrep(n);
          }
}

No comments:

Post a Comment