Question: 8.32 Project 3: Bits Define a class named Bits that holds a single integer variable. You will use this integer simply as a container of

 8.32 Project 3: Bits Define a class named Bits that holds

8.32 Project 3: Bits Define a class named Bits that holds a single integer variable. You will use this integer simply as a container of bits. The number of bits you can support depends on the type of integer you use. We will use an unsigned long long, which on most platforms occupies 64 bits. However, DO NOT HARD-CODE the type of integer you use throughout your code. You should be able to change only one line of code for your class to work with a different size integer (see the using statement on the second code line below). The code skeleton below gets you started, and also shows you the interface your class needs to implement. class Bits using IType - unsigned long long; enum (NBITS = sizeof(IType) *8); I Type bits = 0; public: Bits() = default; Bits (IType n) bits-n; 3 static int size() { return NBITS; 1 bool at (int pos) const; // Returns (tests) the bit at bit position pos void set (int pos); // Sets the bit at position pos void set(); // Sets all bits void reset (int pos); // Resets (makes zero) the bit at position pos void reset(); // Resets all bits void assign(int pos, bool val); // Sets or resets the bit at position pos depending on val vois assign (IType n); // Replaces the underlying integer with n void toggle (int pos); // Flips the bit at position pos void toggle(); // Flips all bits void shift (int n); // If n > 0, shifts bits right n places; if n 0, rotates right n places; if n 0, shifts bits right n places; if n 0, rotates right n places; if n

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!