Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

in C Number System Conversions For this section of the lab, make a file called baseConv.c. In it, you are to first create two functions

in C

Number System Conversions

For this section of the lab, make a file called baseConv.c. In it, you are to first create two functions that perform binary to decimal conversion and back. Their signatures should look like:

int binToDec(char* bin);

char* decToBin(int dec);

That is, the binary numbers will be represented by a "string" of 0s and 1s. So you might call the first method using something like:

int num = binToDec("11001");

The best way to test is to run one method and then take the results and run it through the other method. So "11001" should result in 25, and 25 should result in "11001".

Once you have tested that your code works for both methods, you should then make a copy of your methods and upgrade them to do any base conversion to decimal and back. Those signatures should look like:

int baseToDec(int base, char* value);

char* decToBase(int base, int dec);

Example calls would be:

int dec = baseToDec(2, "11001");

int dec = baseToDec(8, "157");

int dec = baseToDec(16, "f8");

Try to make as little changes to your code as possible. Look at what you can generalize when modifying the base 2 only code. You code should work for any base from 2 up to 16. But please do not code every possible case individually! However, having two cases to handle letters (A-F) vs numbers (0-9) is okay.

BitSet

Make a file called bitset.c It should have a main as well as several functions that operate on bitsets. You should include the following typedef:

typedef unsigned short bitSet;

And the following functions:

bitSet makeBitSet(); // Create a new bitset

displayBitSet(bitSet bs); // Displays the 16 bits of the bitset to the screen

void setBit(bitSet* bs, int index); // Sets bit 'index' of the bitset to 1

void clearBit(bitSet* bs, int index); // Sets bit 'index' of the bitset to 0

int bitValue(bitSet bs, int index); // Returns the value of the bit at 'index'

You should also create a main to test these operations. Note that you must use bitwise operations rather than adding and powers to do these functions. Also note that with the exception of the display, there should be no loops.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Relational Database And SQL

Authors: Lucy Scott

3rd Edition

1087899699, 978-1087899695

More Books

Students also viewed these Databases questions

Question

The predominate industry code for power piping and boilers is

Answered: 1 week ago