Skip to main content

The Fundamentals of Digital Marketing Certification

The Fundamentals of Digital Marketing Certification
Trying to make use of some spare time during these endless lockdowns. I completed The Fundamentals of Digital Marketing course on Google Digital Garage and got certified. This is not a great victory, nevertheless, I celebrate every small step towards a greater goal. #googlegarage #fundamentalsofdigitalmarketing #digitalmarketing

FDS 8

 Practical No: -8

Experiment No. 8: Write C++ program for storing binary number using doubly linked lists. Write

functionsa) To compute 1’s and 2’s complement.

b) Add two binary numbers.

Code:

#include<iostream>

using namespace std;

class binary;

class node

{

 node *prev;

 bool n;

 node*next;

public:

 node()

 {

 prev=next=NULL;

 }

 node(bool b)

 {

 n=b;

 prev=next=NULL;

 }

 friend class binary;

};

class binary

{

 node *start;


 public:

 binary()

 {

 start=NULL;

 }

 void generateBinary(int no);

 void displayBinary();

 void onesComplement();

 void twoscomplement();

 binary operator +(binary n1);


 bool addBitAtBegin(bool val)

 {

 node *nodee=new node(val);

 if(start==NULL)

 {

 start=nodee;

 }

 else

 {

 nodee->next=start;

 start->prev=nodee;

 start=nodee;

 }

 return true;

 }

};

void binary::generateBinary(int no)

{

 bool rem;

 node *p;

 rem=no%2;

 start=new node(rem);

 no=no/2;

 while(no!=0)

 {

 rem=no%2;

 no=no/2;


 /*

 if(start==NULL)

 {

 start=new node(rem);

 // cout<<" Start prev: "<<start->prev;

 // cout<<" Start next: "<<start->next ;


 }

 else

 {

 */

 p=new node(rem);

 p->next=start;

 start->prev=p;

 // cout<<" Start prev: "<<start->prev->n;

 // cout<<" p->n"<<p->n;

 start=p;


 //}

 }

}

void binary::displayBinary()

{

 node *t;

 t=start;

 while(t!=NULL)

 {

 cout<<t->n;

 t=t->next;

 }


}

void binary::onesComplement()

{

 node *t;

 t=start;


 while(t!=NULL)

 {

 if(t->n==0)

 t->n=1;

 else

 t->n=0;


 t=t->next;


 }

}

binary binary::operator +(binary n1)

{

 binary sum;

 node *a=start;

 node *b=n1.start;

// bit *s=sum.start;

 bool carry=false;

 while(a->next!=NULL)

 a=a->next;

 while(b->next!=NULL)

 b=b->next;


 while(a!=NULL && b!=NULL)

 {

 sum.addBitAtBegin((a->n)^(b->n)^carry);

 carry=((a->n&& b->n) || (a->n&& carry) || (b->n && carry));


 a=a->prev;

 b=b->prev;

 }

 while(a!=NULL)

 {

 sum.addBitAtBegin(a->n^carry);

 a=a->prev;

 }

 while(b!=NULL)

 {

 sum.addBitAtBegin(b->n^carry);

 b=b->prev;

 }

 sum.addBitAtBegin(carry);

 return sum;

}

void binary::twoscomplement()

{

 onesComplement();

 bool carry=1;

 node *t;

 t=start;

 while(t->next!=NULL)

 {

 t=t->next;

 }

 while(t!=NULL)

 {

 if(t->n==1&& carry==1)

 {

 t->n=0;

 carry=1;

 }

 else

 if(t->n==0&& carry==1)

 {

 t->n=1;

 carry=0;

 }

 else

 if(carry==0)

 break;


 t=t->prev;

}

displayBinary();

}

int main()

{

 int num,num1;

 binary n1,n3,n2;

 int choice=1;

 do

 {

 cout<<"\n\n=========Binary Number Operations========\n";

 cout<<"1. Generate binary\n2. One’s Complement\n3. Two’s

Complement\n4.Addition\n0.Exit\nEnter your choice: ";

 cin>>choice;

 switch(choice)

 {

 case 1: cout<<"\nEnter Number in decimal form: ";

 cin>>num;

 n1.generateBinary(num);

 cout<<"\nBinary Representation: ";

 n1.displayBinary();

 break;

 case 2:cout<<"\nEnter Number in decimal form: ";

 cin>>num;

 n1.generateBinary(num);

 cout<<"\nBinary Representation: ";

 n1.displayBinary();

 cout<<"\nOne's Complement: ";

 n1.onesComplement();

 n1.displayBinary();

 break;

 case 3:cout<<"\nEnter Number in decimal form: ";

 cin>>num;

 n1.generateBinary(num);

 cout<<"\nBinary Representation: ";

 n1.displayBinary();

 cout<<"\nTwo's complement: ";

 n1.twoscomplement();

 break;

 case 4: cout<<"\nEnter Two Numbers: ";

 cin>>num>>num1;

 n1.generateBinary(num);

 n2.generateBinary(num1);

 n1.displayBinary();

 cout<<" + ";

 n2.displayBinary();

 cout<<"= ";

 n3=n1+n2;

 n3.displayBinary();

 }

 }while(choice!=0);

 n1.generateBinary(7);

 cout<<"\nBinary Representation: ";

 n1.displayBinary();

//

// cout<<"\nOnes Complement: ";

// n1.displayBinary();

 cout<<"\nTwo's complement: ";

 n1.twoscomplement();

 return 0;




OUTPUT:


GALLERY

GALLERY
photos

ABOUT

HTML CSS, VB.net Developer and Java, C programming. With Loves Problem Solving and to Unreval the Mysteries behind the Magic of Computer Programming

Followers

MY PROJECTS

Popular posts from this blog

FDS 12

 Practical No: -12 Experiment No. 12: A double-ended queue(deque) is a linear list in which additions and deletions may be made at either end. Obtain a data representation mapping a deque into a one-dimensional array. Write C++ program to simulate deque with functions to add and delete elements from either end of the deque. Code: using namespace std; #include<iostream> #include<stdio.h> #include<process.h> #define MAX 30 typedef struct dequeue {  int data[MAX];  int rear,front; }dequeue; void initialize(dequeue *p); int isEmpty(dequeue *p); int isFull(dequeue *p); void enqueueRear(dequeue *p,int x); void enqueueFront(dequeue *p,int x); int dequeueFront(dequeue *p); int dequeueRear(dequeue *p); void display(dequeue *p); main() {  int i,x,choice,n;  dequeue q;  initialize(&q);  do  {  cout<<"\n 1.Create \n 2.Insert(rear) \n 3.Insert(front) \n 4.Delete(rear) \n 5.Delete(front)";  cout<<"\n 6.Display \n 7.Ex...

dsa

 https://drive.google.com/drive/folders/1xaWUPlioGjpK0WAmAD-mvlxAuA8eTK1c https://github.com/khan0003-py/SPPU-Computer-4th-Sem-Lab-Codes/tree/master/DSAL

FDS 11

 Practical No: -11 Experiment No. 11: Queues are frequently used in computer programming, and a typical example is the creation of a job queue by an operating system. If the operating system does not use priorities, then the jobs are processed in the order they enter the system. Write C++ program for simulating job queue. Write functions add job and delete job from queue. Code: using namespace std; #include<iostream> #include<stdio.h> #include<conio.h> #include<stdlib.h> #define SIZE 5 void enqueue(int x); void dequeue(); void display(); int FRONT=-1; int REAR=-1; int QUEUE[SIZE]; main() {  int x,ch;  while(1)  {  cout<<"\n 1:Add Job";  cout<<"\n 2:Delete Job";  cout<<"\n 3:Display";  cout<<"\n 4:Exit";  cout<<"\n Enter Your Choice:";  cin>>ch;  switch(ch)  {  case 1:  cout<<"Enter Job:";  cin>>x;  enqueue(x);  break;  case 2: ...

Contact us

Name

Email *

Message *