School of Science, RMIT University  
COSC473  Introduction to Computer Systems   
Semester 1, 2020  
Assignment One  
Due Date: Friday, May 1st 2020 at 23:59PM  
This is an individual assignment (200 marks) that contributes 20% of the total assessment.  
Plagiarism  
All assignments will be checked with plagiarism-detection software; any student found to  
have plagiarised would be subject to disciplinary action. Plagiarism includes submitting  
code that is not your own or submitting text that is not your own. Allowing others to copy  
your work is also plagiarism. All plagiarism will be penalised, there are no exceptions and  
no excuses. You have been warned.   
Referencing and EndNote   
You must acknowledge all the sources of information you have used in your assignments  
and research papers using an appropriate referencing style. Please find the instructions at  
http://www1.rmit.edu.au/library/referencing   
Submissions  
Before you submit anything, please read through the assignment specifications again  
carefully. Check that you have followed all instructions. Also check that you have  
attempted all parts of all questions.   
Prepare the answers to this assignment in an electronic format, and convert to a single  
Acrobat PDF (.pdf) file for submission. Paper submissions are NOT accepted; if some  
parts of the assignment have been completed by hand, scan these in and include this in  
your electronic submission.  
A penalty of 10% per day of the total marks will apply for each day late, including  
weekend. After five days, you will receive zero marks.  
What Happens Next  
You will receive your results by May 21st 2020 in Canvas. If you didn’t receive your marks  
or you have questions after you received your marks, please contact your tutor.  
Page  of 1 6 
Question 1 — Number Systems (37 marks)  
Please answer the following questions, showing all your working out and intermediate  
steps.  
a. (9 marks) Convert the last four digits of your RMIT student number to binary, octal, and  
hexadecimal. For example, if your student number is  “s1234567”, then convert  
456710 to binary, octal, and hexadecimal.  
b. (8 marks) Convert the last four digits of your RMIT student number to base 13, where  
1010=A13, 1110=B13, 1210=C13.   
c. (20 marks) Consider a base 26 number system wherein the letters of the alphabet  
represent the digits. That is, A26=010, B26=110, C26=210, … Z26=2510.   
Use the first three letters of your given name, and the first three letters of your  
surname, as numbers in the base 26 system. Add these two base 26 numbers together  
to obtain the sum (in base 26). Show all your working out and intermediate steps.   
Note: If one of these has less than three letters, repeat the last letter, e.g. LI  
become LII.  
Example 1 — if your first name is “Peter” and your surname is “Pan”, then add up   
PET26 and PAN26, and show the sum in base 26.  
Example 2 — if your first name is “Peter” and your surname is “Pa”, then add up   
PET26  and PAA26, and show the sum in base 26.  
Question 2 — Binary Addition and Subtraction (25 marks)  
Please answer the following questions, showing all your working out and intermediate  
steps. For this question, use the last two digits of your student number. (For example, if  
your student number is  “s1234567”, then A=7 and B=6) If either of these digits is a  
“0”, use 9 instead.  
a. (10 marks) Convert the decimal numbers A and B to 4-bit binary numbers. Show how  
to add together these two 4-bit binary numbers and state whether the answer is valid  
to 4-bit arithmetic.  
b. (15 marks) Convert the decimal numbers A and B to 5-bit binary numbers. Using two’s  
complement representation, show   
(i) how to subtract the two 5-bit binary numbers (A−B);  
(ii) how to translate the binary result back to decimal.  
Page  of 2 6 
Question 3 — Bitwise Operations (16 marks)  
The bitwise operators AND, OR, and XOR allow for bits to be reset (to 0), set (to 1), and  
inverted (from 0 to 1, and from 1 to 0). Bit masks are strings of bits that allow for a single  
bitwise operation on particular bits. Commonly a bit string is 8 bits long (referred to as a  
byte).    
Conventionally, bit strings are indexed from 0 staring with the rightmost digit.   
Let A = xxxx xxxx2, where each x is a unique bit (0 or 1).  
Find the appropriate bitmask(s) M and bitwise operator(s) for ALL byte A for the following  
cases, showing all your working out and intermediate steps:  
a. (8 marks) Reset the 2 bits on each side and make sure that only these 4 bits are reset in  
the byte.  
b. (8 marks) Toggle the values of the middle 4 bits (the opposite of what it currently is),  
and set the 2 bits on each side.  
Question 4 — Logic Circuits and Truth Tables (37 marks)  
Byte A x x x x x x x x 
Bit position 7 6 5 4 3 2 1 0 
Page  of 3 6 
For each of the above circuits:  
a. (10 marks) Write down the equivalent logic expression (simplification is NOT required).  
b. (25 marks) Write a truth table that shows the inputs (A, B, C) and the outputs of each  
gate up to and including the final output (O). Showing all your working out and  
intermediate steps (the output of each gate) in the truth table.  
c. (2 marks) Compare the final output columns in these two truth tables. Do these two  
expressions give the same output?   
Question 5 — SECDED code (35 marks)  
An even-parity SECDED encoded character has been retrieved, with the hexadecimal  
value of BE616. Please answer the following questions, showing all your working out and  
intermediate steps.  
a. (5 marks) Was there an error? Explain your answer.   
b. (30 marks) If there was an error, either correct it (reporting the corrected ASCII  
character) or explain why it could not be corrected.   
Page  of 4 6 
Question 6 — Advanced Question (50 marks)  
You need to attempt either 6.1 or 6.2 to be eligible for an HD for this assignment,  
NOT BOTH.  
Question 6.1 — Half-precision Floating-point Format  
Do some research and find out how real (floating point) numbers are represented in  
Binary.  
a. (10 marks) Devise your own 16-bit representation for floating point numbers, and  
explain what the various bits are used for. Explain in detail,   
(i) how many bits are allocated to the mantissa and the exponent, respectively?   
(ii) what defines the range and the precision (or accuracy) of the numbers stored in  
floating point notation?  
b. (24 marks) If your student number is  “s1234567”, then   
• A=7 and B=6;   
• x=A+B÷10= 7+6÷10 = 7.6  
• y=B÷(A×10) = 6÷(7×10) = 0.0857 (rounded to 4 decimal places)  
If either of these digits is a “0”, use 9 instead.   
If both of these digits are the same, use B = A-1.  
Show in detail:  
(i) how x and y would be represented in binary using your 16-bit representation;  
(ii) the steps needed to add together the two numbers x and y in binary;  
(iii) the steps needed to convert the binary result obtained to decimal.   
(iv) Did you lose precision/accuracy through addition? Discuss what is causing this "loss  
of precision" error.  
c. (16 marks) When adding up a large number of floating point numbers at very different  
magnitudes, in what order should they be added together to get the most accurate  
result? Explain why with an example.  
Page  of 5 6 
Question 6.2 — Logic Simplification using Karnaugh Maps and Boolean Algebra  
Do some research and find out how a Karnauph map is used for reducing logic functions  
into minimal Boolean expressions.  
a. (20 marks) Show in detail, how to use the K-map to simplify the logic expression of  
circuit (1) in Question 4.  
b. (20 marks) Show in detail, how to use Boolean Algebra to simplify the logic expression  
of circuit (1) in Question 4.   
c. (5 marks) Compare the above two simplification methods and discuss which is better:  
Boolean algebra or K-map?   
d. (5 marks) What are the limitations of Karnaugh Maps? Explain with an example.  
Page  of 6 6