Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please comment steps on each line / use camelCasing and explain using Clion C + + , Task 1 - BitsByte class Supplemental Material This
Please comment steps on each lineuse camelCasing and explain using Clion C Task BitsByte class
Supplemental Material
This assignment is going to require that you read the supplemental lecture material found here.
Class Construction
Create a class called BitsByte that will store one byte of data.
C You should create a header called BitsByte.h where the class definition will be placed. You should also have a corresponding cpp file called Byte.cpp
Java BitsByte should be a public class and should be in a file named BitsByte.java
Private Data:
From the supplemental material, you should have observed that a byte consists of bits. To store these bits of information, we are going to need an array. In the data section of the class create an array called bits that will hold integer values to store the s and s for the Byte.
As an example, if we were to store the value in the data section of our class, The int array will hold
Create the following utility function:
int bitsToInt this function will return the bit values stored in the data section as an int whole number value.
Public Methods:
Create the following functions methods :
void setValueint value this function will take as an argument an int type. The argument is going to be the value we want to set our bits to To set the bits we are going to have to use some bitwise operators. Here is how it works.
A value like has a binary value of
This will require you to create a loop and use AND along with the left shift operators to determine the value of each bit and store it in the array. Using bitwise operators is a requirement here.
int atint index takes as an argument an int value called index. This function will return the bit located in the array at index. This value should be returned as an int.
string toString returns the array as a string.
int toInt This function will return the value in the array as a whole number. This function should call the private function bitsToInt.
Constructors
Your BitsByte class should have the following constructors
BitsByteint bitsarray Sets the data section with the value found in the array. Note: the array should be a size of and should hold a binary representation of a whole number
BitsByteint value Sets the data section to val
BitsBytestring valuestring Sets the value of the data section to the value found in value. Note: value should be a string representation of a binary number.
BitsByte Default constructor that sets the data section to
Testing
Create a file called main.cpp and in it create the main function where you can test your code. Write some code in main that will test all functionality created. I will leave it up to you to one how to do this but you should be as thorough as possible
Example Run:
This is simply an example and does not show all possibilities
C
#include
#include "BitsByte.h
using namespace std;
int main
BitsByte bite;
bite.setValue;
forint i ; i ; i
cout bite.ati endl;
cout "Int: bite.toInt endl;
cout "String: bite.toString endl;
return ;
Java
public static void mainString args
BitsByte bite new BitsByte;
bite.setValue;
forint i ; i ; i
System.out.println bite.ati;
System.out.printfInt: d
bite.toInt;
System.out.printfString: s
bite.toString ;
Output
Int:
String:
Press any key to close this window
Task Constructors
For the BitsByte class create the following constructors:
Constructors:
Byte Default constructor that sets all bits to You should delegate this constructor so that it calls Byteint val We want to keep one code path wherever possible.
Byteint value Sets the bits correctly for the value being passed in For instance, if you input the bits should be or stored as
Byteint bitsarray Stores the values in the array to the appropriate bits. Please note that you need to make sure that each value of the array contains either a or a If it does not set all bits to
Task Functionality
Add the following functions to your BitsByte class.
add
sub
mul
div
Each of these takes as an argument a primitive int variable and returns a complex type BitsByte that contains the answer.
Example Run:
C
int main
BitsByte bite;
BitsByte b bite.add;
cout "Int: btoInt endl;
cout "String: btoString endl;
return ;
Java
public static void mainString args
BitsByte b new BitsByte;
BitsByte b badd;
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started