Datatypes
Notes:
Data Types in C#:
I. What is a data type ? : [Starts at: 00min:00sec]
II. Kinds of C# data types : [Starts at: 04min:06sec]
III. Size and limits of C# data types : [Starts at: 09min:41sec]
IV. Choosing C# data types : [Starts at: 15min:09sec]
I. What is a data type ? : [Starts at: 00min:00sec]
Data type indicates:
The type of data to be stored in a variable or a constant
The size of memory to be allocated to hold the data.
Type of operations can be performed on the data present in the variable.
Ex:
int : Data type
Type of data: Integers (whole numbers)
Size of memory: 4 bytes
Type of operations: +, -, *, /, %, == etc.
String: Data type
Type of data: Textual data
Size of memory: Numbers of characters * 2 bytes
Type of operations: ToUppercase, Join, Compare, etc.
II. Kinds of C# data types : [Starts at: 04min:06sec]
There are 2 different types of data types in C#
1) Primitive Data Types (Basic) :
A) Value types: hold actual value
a) Numeric data types:
i) Integer (whole numbers):
Integer numbers indicate numbers without floating point
byte(1) : bydefault unsigned (only +ve)
ushort / short(2),
uint / int(4),
ulong / long(8)
Ex: 22, 156 etc.
ii) Real (fractional numbers):
Real numbers indicate numbers with floating point
float(4),
double(8),
decimal(16)
Ex: 3.142, 44.44 etc.
b) Non numeric data types:
bool(1) : Boolean values
Ex: true or false
char(2) : Character enclosed in single quotes
Ex: 'A' ,'$', '7' etc.
B) Reference types : hold the reference of other memory location
object,
string(#chars *2) : Sequence of characters enclosed in double quotes
"Hello", "Hello 2" etc.
2) Non Primitive Data types (Derived):
Arrays,
structures,
classes,
Other data structures (Stack, Queue etc.)
III. Size and range of C# data types : [Starts at: 09min:41sec]
A smallest unit of memory is a bit.
Bit : indicates 0 or 1
Nibble: Sequence of 4 bits. Ex:1111
Byte:
Sequence of 8 bits. Ex:00001111
Size of Byte is: 8 bits
Finding range of C# data types formulas:
Formula for finding total values possible to store:
2 pow size_of_data_type_in_bits
Ex:
Total values possible to store in Byte memory location:
2 pow 8 = 256 values
Formula for finding Min and Max values possible to store:
Unsigned datatype:
Min = 0
Max = (2 pow size_of_data_type_in_bits) - 1
Ex:
Unsigned Byte:
Byte min = 0 and Byte max = (2 pow 8) -1
Byte min = 0 and Byte max = 255
Signed datatype:
Min = - (2 pow size_of_data_type_in_bits - 1)
Max = + (2 pow size_of_data_type_in_bits - 1) - 1
Ex:
Signed Byte:
Byte min = -(2 pow 8-1) and Byte max = (2 pow 8-1) -1
Byte min = -128 and Byte max = 127
IV. Choosing C# data types : [Starts at: 15min:09sec]
As we create games for low end devices like mobiles,
we must optimize the memory allocation
by choosing the correct data type for storing specific type of data
Think about type of data, range of data, sign and size of data
Ex:
Score (min=0 and max= 100):
To create Score variable best is Byte data type
Reasons:
Range of data:
W.K.T. Byte data type min=0 and max=255,
So we can store 0 to 100 in Byte memory location
Size:
W.K.T a Byte memory location is enough to store 0 to 100
Type of data:
0 to 100 is numeric data,
Byte memory location can store numeric data
Sign:
As 0 to 100 are unsigned values
Byte is by default unsigned