Corning Community College
CSCS1320 C/C++ Programming
To begin our exploration of programming, starting with an investigation into the various data types available in C, along with their properties, and collaboratively authoring and documenting the project and its specifications.
To assist with consistency across all implementations, data files for use with this project are available on lab46 via the grabit tool. Be sure to obtain it and ensure your implementation properly works with the provided data.
lab46:~/src/SEMESTER/DESIG$ grabit DESIG PROJECT
You will want to go here to edit and fill in the various sections of the document:
Also known as the “Base 2” number system, binary is the lowest level of machine language and the language that computers use to receive, perform, and send instructions.
Since binary is “Base 2”, it only uses two digits to represent its numbers: 0 and 1.
Counting in binary works the same way as it does in decimal (Base 10), or any other number system: each spot, or “place” in a binary number starts at 0, then counts up to 1. Since this is Base 2, each place can not go higher than 1, so if we were to count up again, this digit would carry over to the next place, and start again at 0.
For example: 1001 + 1 = 1010
This is just like decimal, where a number starts at 0, then counts up to 9, if we try to count up after that, the number carries over to the Tens place, and restarts at 0:
109 + 1 = 110
NOTE: Just because a binary number uses similar digits to decimal and looks similar to decimal, it does not mean that a binary number can just be read as a decimal number.
To put it another way:
10102 != 101010
Since decimal is “Base 10”, each place in a number is a power of ten, 100, 101, and so on. We know these as the “Ones” place, the “Tens” place, the “Hundreds” place, etc.
The same is true for binary, but since it is Base 2, each place is a power of 2: 20, 21, 22, and so on.
Binary is important because it is the number system and language that computers use to communicate. Any set of instructions sent to a computer will consist of only 1's and 0's.
Although binary is what computers use to communicate, it is much more difficult for humans to use binary to try and perform calculations or write code.
As stated above, each place in a binary number can only be a 1 or 0, which means each place is a power of 2. So a decimal number like 257 would be 100000001 in binary, as we can see, numbers can get very big, very fast.
With a number system where even simple numbers and code can become a massive amount of 1's and 0's, it is very difficult to perform calculations on these numbers without making a mistake. So, programmers have used higher base numbering systems to shorten these numbers down immensely. These numbering systems are also powers of 2, in order to cleanly split binary numbers into smaller segments, such as octal (Base 8), or hexadecimal (Base 16).
They are arithmetic types and are further classified into: (a) integer types and (b) floating-point types.
They are again arithmetic types and they are used to define variables that can only assign certain discrete integer values throughout the program.
The type specifier “void” indicates that no value is available.
They include (a) Pointer types, (b) Array types, © Structure types, (d) Union types and (e) Function types.
To be successful in this project, the following criteria (or their equivalent) must be met:
Let's say you have completed work on the project, and are ready to submit, you would do the following (assuming you have a program called uom0.c):
lab46:~/src/SEMESTER/DESIG/PROJECT$ make submit
You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches.
I'll be evaluating the project based on the following criteria:
39:dtr0:final tally of results (39/39) *:dtr0:used grabit to obtain project by the Sunday prior to duedate [6/6] *:dtr0:clean compile, no compiler messages [7/7] *:dtr0:program conforms to project specifications [20/20] *:dtr0:code tracked in lab46 semester repo [6/6]