Chat with us, powered by LiveChat Suppose a text file contains ASCII characters '0' and '1' representing bits in human readable form. For examp - Writeedu

Suppose a text file contains ASCII characters ‘0’ and ‘1’ representing bits in human readable form. For examp

Suppose a text file contains ASCII characters '0' and '1' representing bits in human readable form. For example, test.txt may contain 111111110000000 which means its size is 16 bytes. A simple method for compressing the file by a factor of 8 is to represent a block of 8 '0' or '1' ASCII characters as a single byte. Thus test.txt which is 16 bytes long can be compressed into a file that is 2 bytes long where the first byte contains all 1's and the second byte all 0's. The resultant compressed file is a binary file since the first byte is not an ASCII character.

Code an app, bitpacker, that reads from stdin the input filename which follows the same specification as Problem 3. However, instead of using getchar(), use the library function fgets() whose the second argument allows specifying how many bytes, at most, should be read which helps prevent array overrun. Process the data in the input file 8 characters at a time by reading them into a 1-D array, char rawdat[8]. Compact the eight '0' and '1' characters in rawdat[] into a single byte using the bit processing techniques discussed in class. Write the resultant byte into an output file with suffix ".P". For the above example, test.txt.P. We will allow the size of the input file not to be a multiple of 8. Since we are compacting 8 ASCII characters '0' and '1' into a single byte, we will use padding to handle files whose size is not a multiple of 8. For example, if text file test1.dat contains characters 1111111100000000111 (file size is 19 bytes), we will pad the last three characters 111 with 00000 so that the byte containing bit values 11100000 is written to test1.dat.P. To note that we padded the original data with five 0 bit values, we will change the suffix of the output file to test1.dat.P5. For test.txt where no padding was needed, the output filename will be test.txt.P0. Thus the last character of the filename specifies how much padding (0-7) was added.

Code bitpacker as a single main() function in main.c . Test and verify that it works correctlyCode an app, bitunpacker, that performs the reverse operation of bitpacker. bitunpacker reads the input filename from stdin using fgets() and checks that the suffix ends with .P[0-7] where [0-7] means that the last character must one of the digits 0, 1, …, 7. Strip the suffix in the name of the output file. Implement the app as a single main() function in main.c . Test and verify that it works correctly. 

all two programs must run within its functions using mac ios terminal and Linux system. 

    Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteEdu. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.

    Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.

    Do you need an answer to this or any other questions?

    Do you need help with this question?

    Get assignment help from WriteEdu.com Paper Writing Website and forget about your problems.

    WriteEdu provides custom & cheap essay writing 100% original, plagiarism free essays, assignments & dissertations.

    With an exceptional team of professional academic experts in a wide range of subjects, we can guarantee you an unrivaled quality of custom-written papers.

    Chat with us today! We are always waiting to answer all your questions.

    Click here to Place your Order Now