Answer to Question #213796 in C++ for Hemambar

Question #213796

Create a class called Transmitter. It has three unsigned int private data members: pay_load,

parity and data_packet; It has one function called parity_bit(). It calculates parity bit by XORing


all pay_load bits and assign the value to parity. By using function get pay_load(), pay_load is got.

data_packet is calculated by multiplying parity_bit with 32768 and add the product with (pay_load

– 32768). Create another class called Receiver. It has unsigned int private data members Rx_Pkt

, Rx_Data and E_Flag. Rx_Data is got from Rx_Data as given below. First E_Flag is calculated

from Rx_Pkt by XORing all bits. If E_Flag is zero, then Rx_Data = Rx_Pkt – 32768, Else a

message should warn about corrupted packet. Derive a class called Tranceiver from the above two

classes and check the functionalities. Use any other functions if needed.


1
Expert's answer
2021-07-11T14:35:57-0400
#include <iostream>

using namespace std;
class Transmitter{
    private:
        unsigned int pay_load,parity,data_packet;
    public:
        void parity_bit(){
            parity = 0;
            while (pay_load)
            {
                parity = !parity;
                pay_load     = pay_load & (pay_load - 1);
            }  
            data_packet=parity*32768;
        }
};
class Receiver{
    private:
        unsigned int Rx_Pkt, Rx_Data,E_Flag;
    void check_Packet(){
        if (E_Flag==0){
         Rx_Data = Rx_Pkt-32768;
        }
        else
            cout<<"\nCorrupted packet\n";
    }
};
class Tranceiver: public Transmitter, public Receiver{
    
};
int main()
{
    Transmitter t;
    t.parity_bit();

    return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS