Table of Contents

Corning Community College

CSCS1320 C/C++ Programming

PROJECT: Data Type Resources (DTR0)

OBJECTIVE

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.

GRABIT

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

EDIT

You will want to go here to edit and fill in the various sections of the document:

BACKGROUND

BINARY NUMBERS

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.

Digits and Counting

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.

Use in Computing

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).

HEXADECIMAL NUMBERS

DATA TYPES IN C

Basic Types

They are arithmetic types and are further classified into: (a) integer types and (b) floating-point types.


Enumerated 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 "void" Type

The type specifier “void” indicates that no value is available.


Derived Types

They include (a) Pointer types, (b) Array types, © Structure types, (d) Union types and (e) Function types.

PRINTF FORMAT SPECIFIERS

PROGRAM SPECIFICATIONS

 

SUBMISSION

To be successful in this project, the following criteria (or their equivalent) must be met:

Submit Tool Usage

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.

RUBRIC

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]

Pertaining to the collaborative authoring of project documentation

Additionally