subject

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, shifts left
void rotate (int n); // If n > 0, rotates right n places; if n <0, rotates left int ones () const; // Returns how many bits are set in the underlying integer int zeroes () const { // Returns how many bits are reset in the underlying integer return NBITS - ones(); } I Type to_int() const { return bits; } ); Also define the following non-member functions:
an output stream operator (<<) that prints the bits to an output stream (without a newline; hint: use std::bitset)
the equality operator =
the inequality operator != Remember that bit positions are numbered right-to-left, so bit position is the low order bit. "Rotate" means that bits that run off one end replace the vacated bits on the other.
Define all functions inline in a header file named bits.

ansver
Answers: 3

Another question on Computers and Technology

question
Computers and Technology, 22.06.2019 10:40
Nims is applicable to all stakeholders with incident related responsibilities. true or false
Answers: 1
question
Computers and Technology, 22.06.2019 17:00
Annie is creating a corporate report for a company’s annual meeting. in the report, she wants to add the signature of various department heads. which device can annie use to capture signatures to include in the report? a. printer b. monitor c. e-reader d. digitizing tablet
Answers: 1
question
Computers and Technology, 23.06.2019 16:30
You have read about the beginnings of the internet and how it was created. what was the internet originally created to do? (select all that apply) share research. play games. communicate. share documents. sell toys
Answers: 1
question
Computers and Technology, 23.06.2019 18:30
How often does colleges update the cost of attendance on their website? . a)every two years b) every four years c) every year d) every semester
Answers: 1
You know the right answer?
Define a class named Bits that holds a single integer variable. You will use this integer simply as...
Questions
question
Mathematics, 23.08.2019 17:20
question
Physics, 23.08.2019 17:20
Questions on the website: 13722363