Fundamental Data Types

Slides:



Advertisements
Similar presentations
Types and Arithmetic Operators
Advertisements

Data Types in Java Data is the information that a program has to work with. Data is of different types. The type of a piece of data tells Java what can.
1 Lecture 7  Fundamental data types in C  Data type conversion:  Automatic  Casting  Character processing  getchar()  putchar()  Macros on ctype.h.
Review Question What kind error is it when I try to multiply a number in a program by 1000 and store in a variable, but the variable is too small for the.
Sizes of simple data types sizeof(char) = 1 size(short) = 2 sizeof(int) = 4 size(long) = 8 sizeof(char) = 1 size(short) = 2 sizeof(int) = 2 size(long)
1 9/10/07CS150 Introduction to Computer Science 1 Data Types Section 2.7 – 2.12 CS 150 Introduction to Computer Science I.
1 Chapter 6 The Fundamental Data Types. 2 Outline  Declarations and expressions  Fundamental data types  Characters and the data type char  The Data.
Overview Order of presentation different than published handouts Run a program on ccc Finish Arithmetic operations Data types integer char floating point.
1 Fundamental Data Types. 2 Declaration All variables must be declared before being used. –Tells the compiler to set aside an appropriate amount of space.
1 9/8/08CS150 Introduction to Computer Science 1 Data Types Section 2.7 – 2.12 CS 150 Introduction to Computer Science I.
Fundamental data types
Basic C Programming Data Types and Arithmetic Operations 01/30/15.
22-Jun-15 Introduction to Primitives. 2 Overview Today we will discuss: The eight primitive types, especially int and double Declaring the types of variables.
CS180 Recitation 3. Lecture: Overflow byte b; b = 127; b += 1; System.out.println("b is" + b); b is -128 byte b; b = 128; //will not compile! b went out.
Data types and variables
CS150 Introduction to Computer Science 1
Chapter 2 Data Types, Declarations, and Displays
Representation and Conversion of Numeric Types 4 We have seen multiple data types that C provides for numbers: int and double 4 What differences are there.
1 Review of Chapter 6: The Fundamental Data Types.
Binary Number Systems.
Objectives You should be able to describe: Data Types
UniMAP Sem2-08/09 DKT121: Fundamental of Computer Programming1 Introduction to C – Part 2.
C Tokens Identifiers Keywords Constants Operators Special symbols.
COMP 116: Introduction to Scientific Programming Lecture 28: Data types.
UniMAP Sem1-07/08EKT120: Computer Programming1 Week2.
Operators & Identifiers The Data Elements. Arithmetic Operators exponentiation multiplication division ( real ) division ( integer quotient ) division.
CISC105 – General Computer Science Class 9 – 07/03/2006.
Pointers: Basics. 2 What is a pointer? First of all, it is a variable, just like other variables you studied  So it has type, storage etc. Difference:
Data Type. Syntax Rules Recap keywords breakdoubleifsizeofvoid caseelseintstatic..... Identifiers not#me123th scanfprintf _idso_am_igedd007 Constant ‘a’‘+’
CS115 FALL Senem KUMOVA-METİN1 The Fundamental Data Types CHAPTER 3.
Chapter 3 – Variables and Arithmetic Operations. Variable Rules u Must declare all variable names –List name and type u Keep length to 31 characters –Older.
Data Types Declarations Expressions Data storage C++ Basics.
Copyright © – Curt Hill Types What they do.
Java Programming, Second Edition Chapter Two Using Data Within a Program.
Operators & Identifiers The Data Elements. Arithmetic Operators exponentiation multiplication division ( real ) division ( integer quotient ) division.
Chapter 7 C supports two fundamentally different kinds of numeric types: (a) integer types - whole numbers (1) signed (2) unsigned (b) floating types –
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee C Language Part 1.
Chapter2 Constants, Variables, and Data Types. 2.1 Introduction In this chapter, we will discuss –constants (integer, real, character, string, enum),symbolic.
Variables Symbol representing a place to store information
Tokens in C  Keywords  These are reserved words of the C language. For example int, float, if, else, for, while etc.  Identifiers  An Identifier is.
Gator Engineering Project 1 Grades released Re-grading –Within one week –TA: Fardad, or office hours: MW 2:00 – 4:00 PM TA Huiyuan’s office hour.
UNIMAP Sem2-07/08EKT120: Computer Programming1 Week 2 – Introduction to Programming.
7. BASIC TYPES. Systems of numeration Numeric Types C’s basic types include integer types and floating types. Integer types can be either signed or unsigned.
Lecture 3: More Java Basics Michael Hsu CSULA. Recall From Lecture Two  Write a basic program in Java  The process of writing, compiling, and running.
Chapter 2 Variables and Constants. Objectives Explain the different integer variable types used in C++. Declare, name, and initialize variables. Use character.
Floating Point Numbers
Numbers Mar 27, 2013.
CSE 220 – C Programming Bitwise Operators.
Data Types, Variables & Arithmetic
BASIC ELEMENTS OF A COMPUTER PROGRAM
Tokens in C Keywords Identifiers Constants
7. BASIC TYPES.
ITEC113 Algorithms and Programming Techniques
Data Type.
Data Type.
Beginning C Lecture 2 Lecturer: Dr. Zhao Qinpei
CS111 Computer Programming
Chapter-3 Operators.
Lectures on Numerical Methods
Basic Types Chapter 7 Copyright © 2008 W. W. Norton & Company.
Pointers Pointers point to memory locations
Fundamental Data Types
Numbers 27-Apr-19.
Data Type.
Module 2 Variables, Data Types and Arithmetic
Numbers 6-May-19.
DATA TYPES There are four basic data types associated with variables:
Variables and Constants
Programming Fundamental-1
ECE 120 Midterm 1 HKN Review Session.
Presentation transcript:

Fundamental Data Types

Declaration All variables must be declared before being used. Tells compiler to set aside an appropriate amount of space in memory to hold a value. Enables the compiler to perform operations using the declared variables.

Basic Data Types char character int integer float floating-point double double floating-point void valueless

Modifying the Basic Types Type modifier: signed unsigned long short When a type modifier is used by itself, then int is assumed. Modifier Same As signed signed int unsigned unsigned int long long int short short int

Data Type char Have Seen: Chars are treated as small integers & conversely small ints are treated as chars. char c = ‘a’; printf (“%c”, c + 1) b printf (“%d”, c + 2) 99 Each char variable stored in 1 Byte 8 Bits: 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 a 1 1 1

String of binary digits are called bit strings. A bit string is interpreted as a binary number. bnbn-1……b2b1b0 0 1 1 0 0 0 0 1 a This bit string has the value: 126 + 125 + 120= 97

3 types: 1) char 2) unsigned char 3) signed char Each uses 1 Byte. Signed char -128 to 127 Unsigned char 0 to 255

Data Type int INTEGERS : Include the natural counting numbers and their negatives. INTEGRAL DATA TYPES: int short long unsigned

word size(bits) of the machine is machine dependent The magnitude of the number that an int variable can hold depends on ___________? 2 Byte word ~ -32 K To +32K -215, …, -3, -2, -1, 0, 1, 2, 3, …, 215-1 4 Byte word ~ -2 Billion To +2 Billion -231, …. -3, -2, -1, 0, 1, 2, 3, …, 231-1 word size(bits) of the machine is machine dependent

Integer overflow: Value too large for defined Storage Location. Typically program continues to run but incorrect results. The programmer must strive at all times to avoid integer overflow.

Types short, long, unsigned short - used where conserving storage is a concern (usually 2 Bytes). -32 Thousand To +32 Thousand -215, -215+1, …, -3, -2, -1, 0, 1, 2, 3, …, 215-1 long - needed for larger integers (usually 4 bytes). -2 Billion To +2 Billion -231, -231+1, …, -3, -2, -1, 0, 1, 2, 3, …, 231-1

Unsigned - no sign bit, same number bytes as int. The range, u, of values: 0  u  2wordsize-1 2 Byte word ~ 0 To + 64 Thousand 0, 1, 2, 3, …, 216-1 4 Byte word ~ 0 To + 4 Billion 0, 1, 2, 3, …, 232-1

Suffix: u - 20u l – 20l ul - 20ul (case not significant) IF no suffix with constant - system will choose the first of : int - long - unsigned long That can hold the value.

The Floating Types float double long double Suffixes for constants f or F float 3.7 F l or L long double 3.7 L Any unsuffixed floating constant is of type double (working type).

Notation: exponential or decimal Must have Exponent or Dec pt or Both. 1.234567e5 123456.7 1.234567e-3 0.001234567 0e0 correct 0.0 .e0 wrong May not contain any blanks or special characters. Typical Storage: Float < Double

Float: 4 Bytes - about 6 decimal places of accuracy- single precision. Precision: The number of significant decimal digits that floating value carries. Range: Limits of largest & smallest possible values that can be in a variable of that type. Float: 4 Bytes - about 6 decimal places of accuracy- single precision. Double: 8 Bytes - about 15 decimal places of accuracy- double precision.

Internal Representation FLOAT: 01 8 9 31 SEEEEEEEE mmmmm…m DOUBLE: 01 11 12 63 SEEEEEEEEEEE mmmmmmm…m Implied mantissa of 1 is not stored. Sign bit (1 for neg-otherwise pos).

Float: Precision: 6 significant digits. Range: 10-38 to 10+38 0.d1d2d3d4d5d6  10n Double: Precision: 15 significant digits (252  1015) Range: 10-308 to 10+308 0.123451234512345  103

Note: 1. Not all Real numbers are exactly representable in binary memory. 2. Floating Arithmetic ops, unlike integer arithmetic, may not be exact.

Compile-Time Operator sizeof Unary operator used to find the number of Bytes needed to store an object. sizeof(object) Object Data type int , float, … Expression a + b Array Will cover later Structure

Assuming that integers are 4 bytes and doubles are 8 bytes. double f; printf("%d ",sizeof (f)); 8 printf(''%d", sizeof(int)); 4

sizeof(char) = 1 sizeof(short)  sizeof(int)  sizeof(long) sizeof(signed)=sizeof(unsigned)=sizeof(int) sizeof(float) <= sizeof(double ) <= sizeof( long double)

Conversions When constants and variables of different types are mixed in an expression, the compiler converts all operands to the type of the largest operand- Called Type Promotion. First, all char and short values are automatically elevated to int. Called integral promotion. int + int = int short + short = int Arithmetic Conversion (See pg. 217)

char ch; int i; float f; double d,result; result= (ch / i) + (f * d) – (f + i); int double float double

Casts Casts - Explicit conversions. (type) expression If i is int: (float) i will change expression value to float, i is not changed. (float) i/2

Apply to an Expression: (float) (‘c’ + 3) Cannot apply to an Assignment: (int) f = 3: illegal As an unary operator, a cast has the same precedence as any other unary operator. (float) i + 3 ( (float) i ) + 3

/* print i and i/2 with fractions */ int main(void)  {   int i;   for(i=l; i<=100; ++i)      printf(''%d //2 is: %f \n", i, (float) i /2); return 0; }

General forms: (int) char expression- ordinal value of char expression (char) int expression- character with the ordinal value of int expression (int) float expression- truncates the float expression (float) int expression- converts int to float (double) float exp- converts float to double