211: Computer Architecture Summer 2016
|
|
- Carmel Bradley
- 5 years ago
- Views:
Transcription
1 211: Computer Architecture Summer 2016 Liu Liu Topic: C Programming Data Representation
2 I/O: - (example) cprintf.c Memory: - memory address - stack / heap / constant space - basic data layout Pointer: - pointer type - declaration / initialization / assignment - pointer to an array - pointer in / de crement Dynamic Memory Allocation: - motivation - malloc() / free() - heap Call by value / reference: - array / array item / structure as parameters - (example) swap 2 vars Recap Rutgers University Liu Liu 2
3 Today s Topic - 1 more example on pointer - Project-1 related: - Command-line args - Parsing / realloc() - File I/O - String operations - C wrap up ************************************* Data representation********************************** - Data representation: - Numerical numbers in B / O / D / H - Endian / Complement - Floating number - Characters - Computer Arithmetic: - add / sub / mul / div (unsigned / signed) Rutgers University Liu Liu 3
4 When using a shell $ hello 5 Command Line Arguments Entire command line will be given to your program as a sequence of strings White spaces are typically the separator characters Shell dependent int main(int argc, char * argv []) { } argc: number of strings in command line» In our example, argc = 2 argv: the strings themselves» In our example, argv[0] = hello\0 and argv[1] = 5\0 Rutgers University Liu Liu 4
5 File I/O A file is a contiguous set of bytes Has a name Can create, remove, read, write, and append Unix/Linux supports persistent files stored on disk Access using system calls: open(), read(), write(), close(), creat(), lseek() Provide random access Section 2 of online manual (man) C supports extended interface to UNIX files fopen(), fscanf(), fprintf(), fgetc(), fputc(), fclose() View files as streams of bytes Section 3 of online manual (man) Rutgers University Liu Liu 5
6 fopen The fopen (pronounced "eff-open") function associates a physical file with a stream. FILE *fopen(char* name, char* mode); First argument: name The name of the physical file, or how to locate it on the storage device. This may be dependent on the underlying operating system. Second argument: mode How the file will be used: "r" -- read from the file "w" -- write, starting at the beginning of the file "a" -- write, starting at the end of the file (append) Rutgers University Liu Liu 6
7 fprintf and fscanf Once a file is opened, it can be read or written using fscanf() and fprintf() These are just like scanf() and printf() except with an additional argument specifying a file pointer fprintf(outfile, "The answer is %d\n", x); fscanf(infile, "%s %d/%d/%d %lf", &name, &bmonth, &bday, &byear, &gpa); When started, each executing program has three standard streams open for input, output, and errors stdin, stdout, stderr Rutgers University Liu Liu 7
8 Strings: Arrays of Characters Allocate space for a string just like any other array: char outputstring[16]; Each string should end with a \0 character Special syntax for initializing a string: char outputstring[16] = "Result"; which is the same as: outputstring[0] = 'R'; outputstring[1] = 'e';... outputstring[6] = \0 ; The \0 allows functions like strlen() to work on arbitrary strings Rutgers University Liu Liu 8
9 Useful functions for Strings Useful string related functions in standard C libraries #include <string.h> char *strcpy(char *d, char *s) Copy string s to d int strcmp(s1, s2) size_t strlen(s) Compare string s1 to s2 Returns length of cs Use man to learn more about these functions man strcpy Rutgers University Liu Liu 9
10 Special Character Literals Certain characters cannot be easily represented by a single keystroke, because they correspond to whitespace (newline, tab, backspace,...) are used as delimiters for other literals (quote, double quote,...) These are represented by the following sequences: \n newline \t tab \b backspace \\ backslash \' single quote \" double quote Rutgers University Liu Liu 10
11 realloc() The realloc (re-allocation) function dynamically changes the size of allocated space pointed by ptr to size. void *realloc(void* ptr, size_t size); First argument: ptr A pointer pointing to a pre-allocated space, or NULL; if ptr==null, realloc() == malloc() Second argument: size The new size of this memory space Function procedure: Copy the content of size = min(size, origin_size) free the old pointer malloc a new space with a new pointer returned(could be the same as old one) return the pointer if succeed, or NULL if not. Rutgers University Liu Liu 11
12 Data Representations Rutgers University Liu Liu 12
13 What Do Computer Do? Manipulate stored information Information is data How is it represented? Basic information: numbers Human beings have represented numbers throughout history Egyptian number system Discoveregypt.com Roman numeral Typically decimal Natural for humans Rutgers University Liu Liu 13
14 Comprises of Number System Set of numbers or elements Operations on them Rules that define properties of operations Need to assign value to numbers Let us take decimal Base 10 Numbers are written as d n...d 2 d 1 d 0 Each digit is in [0-9] Value of a number is interpreted as i= n 0 d i i 10 Rutgers University Liu Liu 14
15 Binary Numbers Base 2 each digit is 0 or 1 Numbers are written as d n...d 2 d 1 d 0 Value of number is computed as Binary representation is used in computers Easy to represent by switches (on/off) Manipulation by digital logic in hardware Written form is long and inconvenient to deal with n i= 0 d i 2 i Rutgers University Liu Liu 15
16 Hexadecimal Numbers Base 16 Each digit can be one of 16 different values Symbols = {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} First 10 symbols (0 through 9) are same as decimal A=10,B=11,C=12, D=13, E=14, F=15 Numbers are written as d n...d 2 d 1 d 0 n Value = i= 0 d i 16 i Rutgers University Liu Liu 16
17 Base 8 each digit is in [0-7] Octal Numbers Numbers are written as d n...d 2 d 1 d 0 n Value of number is computed as i= 0 d i 8 i Rutgers University Liu Liu 17
18 Converting Hex to Binary Each hexadecimal digit can be represented by 4 binary digits Why? 0x2A8C (hex) = 0b (binary) 0xC = 12 x 16 0 = = (1 x 2 3 ) + (1 x 2 2 ) = 0b1100 0x80 = 8 x 16 1 = 2 3 x 2 4 = 2 7 = 0b And so on So, to convert hex to binary, just convert each digit and concatenate. What about octal to binary? Rutgers University Liu Liu 18
19 Converting Binary to Hex Do the reverse Group each set of 4 digits and change to corresponding digit in hex Go from right to left Example b = 0xB79C What if a binary number has 7 digits? What about binary to octal? Rutgers University Liu Liu 19
20 Decimal to Binary What s the largest p, q, r such that n = 2 p + r 1, where r 1 < 2 p n - 2 p = 2 q + r 2, where r 2 < 2 q n (2 p + 2 q )= 2 r + r 3, where r 3 < 2 r The above means that n = (1 x 2 p ) + (1 x 2 q ) + (1 x 2 r ) + + r m, where r m = n % 2 Can you see why this now allows n to be easily written in binary form? Example: convert 21 to binary 21 = , 5 = = 0b10101 Rutgers University Liu Liu 20
21 Decimal to Binary and Back How to do the conversion algorithmically? What about binary to decimal? What about decimal to hex? Hex to decimal? Decimal to octal? Octal to decimal? Hex to octal? Octal to Hex? Rutgers University Liu Liu 21
22 Decimal and Binary fractions In decimal, digits to the right of radix point have value 1/10 i for each digit in the i th place 0.25 is 2/10 + 5/100 Similarly, in binary, digits to the right of radix point have value 1/2 i for each i th place Just the base is different is = 6/10 + 2/ /1000 = 1/2 + 1/8 How to convert? Rutgers University Liu Liu 22
23 Decimal to Binary Example Algorithm Number = decimalfraction while (number > 0) { number = number*2 if (number >=1) { Output 1; number = number-1 } else { Output 0 } } Why does it work? Example: to binary ANS: *2 = 1.25 output *2 =0.5 output 0 0.5*2 = 1 output 1 Exit Rutgers University Liu Liu 23
24 Big Endian vs. Little Endian How to determine value when having a binary number spread across multiple bytes Is it A0BC0012 or 1200BCA0? One is called big endian and one is little endian Most Significant byte first big endian Lease significant byte first little endian Makes no difference to computer architecture Why do we care? A0 BC Interpret machine code and values One computer (big endian) sending data to another computer (little endian) Need to convert into standard form before transmitting Rutgers University Liu Liu 24
25 Representing integers How do we represent negative numbers in computers? Use a bit after all, that s how we store information, right? Signed Magnitude: S 0100 = 4, 1100 = -4 Magnitude 0011 = 3, 1011 = -3 What is 1000? Have two zeros +0 (0000) and -0 (1000) As we shall see, inconvenient for arithmetic computations Rutgers University Liu Liu 25
26 One s Complement Represent negative numbers by complementing positive numbers Still have two zeros but arithmetic computation becomes easier Rutgers University Liu Liu 26
27 Two s Complement One s complement plus one Most significant bit still gives the sign Trick: copy all 0 bits from LSB till first 1 bit. Copy 1 bit, then flip all remaining bits till MSB. Advantages: Only 1 zero Most convenient for arithmetic computations Used in almost all computers today Rutgers University Liu Liu 27
28 Numerical Value of Two s Complement Given a two s complement number of length n, written as d n-1 d 1 d 0 It s value is interpreted as n 2 n 1 i 12 + i 2 i= 0 d n d The range of values is then [ 2 1] More negative numbers than positive (if we do not count 0) 101 =? 0101!= 101,2 n 1 n 1 What about real numbers? Rutgers University Liu Liu 28
29 Floating point Integers typically written in ordinary decimal form E.g., 1, 10, 100, 1000, 10000, , etc. But, can also be written in scientific notation E.g., 1x10 4, x10 7 What about binary numbers? Works the same way 0b100 = 0b1x2 2 Scientific notation gives a natural way for thinking about floating point numbers 0.25 = 2.5x10-1 = 0b1x2-2 How to represent in computers? Rutgers University Liu Liu 29
30 IEEE floating point standard Most computers follow IEEE 754 standard Single precision (32 bits) Double precision (64 bits) Extended precision (80 bits) S Exponent Fraction Rutgers University Liu Liu 30
31 32 bits single precision (type float) Floating point in C 1 bit for sign, 8 bits for exponent, 23 bits for mantissa Sign bit: 1 = negative numbers, 0 = positive numbers Exponent is power of 2 Have 2 zero s Range is approximately to bits double precision (type double) 1 bit for sign, 11 bits for exponent, 52 bits for mantissa Majority of new bits for mantissa higher precision Range is to * *10+10, which one is has higher precision? Rutgers University Liu Liu 31
32 3 different cases: Numerical Values 1) Normalized values exponent field 0 and exponent field 2 k -1 (all 1 s) exponent = binary value Bias» Bias = 2 k-1-1 (e.g., 127 for float) mantissa = 1.(mantissa field) Ex: (sign: 0, exp: 1, mantissa: 1) would give 0b1.1x ) Denormalized values exponent field = 0 exponent = 1 Bias (e.g., -126 for float), why not -127? Mantissa = mantissa field (no leading 1) Ex: (sign: 0, exp: 0, mantissa: 10) would give 0b10x2-126 Rutgers University Liu Liu 32
33 Numerical Values 3 different cases: Special values: +, -, 0, and NaN what is the value of 32bit all 0? Is it 1.0*2-127? -> 0 +/- occurs when dividing a number with 0.0. What is 0.0 / 0.0? -> NaN(ill-defined value) Square root of a neg value? -> NaN Rutgers University Liu Liu 33
34 Numerical Values Rutgers University Liu Liu 34
Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 18 I/O in C Standard C Library I/O commands are not included as part of the C language. Instead, they are part of the Standard C Library. A collection of functions and macros that must be implemented
More informationl l l l l l l Base 2; each digit is 0 or 1 l Each bit in place i has value 2 i l Binary representation is used in computers
198:211 Computer Architecture Topics: Lecture 8 (W5) Fall 2012 Data representation 2.1 and 2.2 of the book Floating point 2.4 of the book Computer Architecture What do computers do? Manipulate stored information
More informationCSE 12 Spring 2016 Week One, Lecture Two
CSE 12 Spring 2016 Week One, Lecture Two Homework One and Two: hw2: Discuss in section today - Introduction to C - Review of basic programming principles - Building from fgetc and fputc - Input and output
More informationC programming basics T3-1 -
C programming basics T3-1 - Outline 1. Introduction 2. Basic concepts 3. Functions 4. Data types 5. Control structures 6. Arrays and pointers 7. File management T3-2 - 3.1: Introduction T3-3 - Review of
More informationCourse organization. Course introduction ( Week 1)
Course organization Course introduction ( Week 1) Code editor: Emacs Part I: Introduction to C programming language (Week 2-9) Chapter 1: Overall Introduction (Week 1-3) Chapter 2: Types, operators and
More informationContents. A Review of C language. Visual C Visual C++ 6.0
A Review of C language C++ Object Oriented Programming Pei-yih Ting NTOU CS Modified from www.cse.cuhk.edu.hk/~csc2520/tuto/csc2520_tuto01.ppt 1 2 3 4 5 6 7 8 9 10 Double click 11 12 Compile a single source
More informationInput / Output Functions
CSE 2421: Systems I Low-Level Programming and Computer Organization Input / Output Functions Presentation G Read/Study: Reek Chapter 15 Gojko Babić 10-03-2018 Input and Output Functions The stdio.h contain
More informationCSE 12 Spring 2018 Week One, Lecture Two
CSE 12 Spring 2018 Week One, Lecture Two Homework One and Two: - Introduction to C - Review of basic programming principles - Building from fgetc and fputc - Input and output strings and numbers - Introduction
More informationFile IO and command line input CSE 2451
File IO and command line input CSE 2451 File functions Open/Close files fopen() open a stream for a file fclose() closes a stream One character at a time: fgetc() similar to getchar() fputc() similar to
More informationCS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.
CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. 1 Part 1: Data Representation Our goal: revisit and re-establish fundamental of mathematics for the computer architecture course Overview: what are bits
More informationC mini reference. 5 Binary numbers 12
C mini reference Contents 1 Input/Output: stdio.h 2 1.1 int printf ( const char * format,... );......................... 2 1.2 int scanf ( const char * format,... );.......................... 2 1.3 char
More informationCOMP Overview of Tutorial #2
COMP 1402 Winter 2008 Tutorial #2 Overview of Tutorial #2 Number representation basics Binary conversions Octal conversions Hexadecimal conversions Signed numbers (signed magnitude, one s and two s complement,
More informationLecture 03 Bits, Bytes and Data Types
Lecture 03 Bits, Bytes and Data Types Computer Languages A computer language is a language that is used to communicate with a machine. Like all languages, computer languages have syntax (form) and semantics
More informationStandard C Library Functions
Demo lecture slides Although I will not usually give slides for demo lectures, the first two demo lectures involve practice with things which you should really know from G51PRG Since I covered much of
More informationMACHINE LEVEL REPRESENTATION OF DATA
MACHINE LEVEL REPRESENTATION OF DATA CHAPTER 2 1 Objectives Understand how integers and fractional numbers are represented in binary Explore the relationship between decimal number system and number systems
More informationAnnouncements. Strings and Pointers. Strings. Initializing Strings. Character I/O. Lab 4. Quiz. July 18, Special character arrays
Strings and Pointers Announcements Lab 4 Why are you taking this course? Lab 5 #, 8: Reading in data from file using fscanf Quiz Quiz Strings Special character arrays End in null character, \ char hi[6];
More informationTime: 8:30-10:00 pm (Arrive at 8:15 pm) Location What to bring:
ECE 120 Midterm 1 HKN Review Session Time: 8:30-10:00 pm (Arrive at 8:15 pm) Location: Your Room on Compass What to bring: icard, pens/pencils, Cheat sheet (Handwritten) Overview of Review Binary IEEE
More informationC Language Part 1 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee
C Language Part 1 (Minor modifications by the instructor) References C for Python Programmers, by Carl Burch, 2011. http://www.toves.org/books/cpy/ The C Programming Language. 2nd ed., Kernighan, Brian,
More information8. Characters, Strings and Files
REGZ9280: Global Education Short Course - Engineering 8. Characters, Strings and Files Reading: Moffat, Chapter 7, 11 REGZ9280 14s2 8. Characters and Arrays 1 ASCII The ASCII table gives a correspondence
More informationGoals of C "" The Goals of C (cont.) "" Goals of this Lecture"" The Design of C: A Rational Reconstruction"
Goals of this Lecture The Design of C: A Rational Reconstruction Help you learn about: The decisions that were available to the designers of C The decisions that were made by the designers of C Why? Learning
More informationAdvanced C Programming Topics
Introductory Medical Device Prototyping Advanced C Programming Topics, http://saliterman.umn.edu/ Department of Biomedical Engineering, University of Minnesota Operations on Bits 1. Recall there are 8
More informationReview Topics. Final Exam Review Slides
Review Topics Final Exam Review Slides!! Transistors and Gates! Combinational Logic! LC-3 Programming!! Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox,
More informationC Concepts - I/O. Lecture 19 COP 3014 Fall November 29, 2017
C Concepts - I/O Lecture 19 COP 3014 Fall 2017 November 29, 2017 C vs. C++: Some important differences C has been around since around 1970 (or before) C++ was based on the C language While C is not actually
More informationMidterm Exam Review Slides
Midterm Exam Review Slides Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Review Topics Number Representation Base Conversion
More informationThe Design of C: A Rational Reconstruction (cont.)
The Design of C: A Rational Reconstruction (cont.) 1 Goals of this Lecture Recall from last lecture Help you learn about: The decisions that were available to the designers of C The decisions that were
More informationNumber Systems. Decimal numbers. Binary numbers. Chapter 1 <1> 8's column. 1000's column. 2's column. 4's column
1's column 10's column 100's column 1000's column 1's column 2's column 4's column 8's column Number Systems Decimal numbers 5374 10 = Binary numbers 1101 2 = Chapter 1 1's column 10's column 100's
More informationInf2C - Computer Systems Lecture 2 Data Representation
Inf2C - Computer Systems Lecture 2 Data Representation Boris Grot School of Informatics University of Edinburgh Last lecture Moore s law Types of computer systems Computer components Computer system stack
More informationNumber Systems. Binary Numbers. Appendix. Decimal notation represents numbers as powers of 10, for example
Appendix F Number Systems Binary Numbers Decimal notation represents numbers as powers of 10, for example 1729 1 103 7 102 2 101 9 100 decimal = + + + There is no particular reason for the choice of 10,
More informationComputer Systems Programming. Practice Midterm. Name:
Computer Systems Programming Practice Midterm Name: 1. (4 pts) (K&R Ch 1-4) What is the output of the following C code? main() { int i = 6; int j = -35; printf( %d %d\n,i++, ++j); i = i >
More information10.1. Unit 10. Signed Representation Systems Binary Arithmetic
0. Unit 0 Signed Representation Systems Binary Arithmetic 0.2 BINARY REPRESENTATION SYSTEMS REVIEW 0.3 Interpreting Binary Strings Given a string of s and 0 s, you need to know the representation system
More informationCHAPTER V NUMBER SYSTEMS AND ARITHMETIC
CHAPTER V-1 CHAPTER V CHAPTER V NUMBER SYSTEMS AND ARITHMETIC CHAPTER V-2 NUMBER SYSTEMS RADIX-R REPRESENTATION Decimal number expansion 73625 10 = ( 7 10 4 ) + ( 3 10 3 ) + ( 6 10 2 ) + ( 2 10 1 ) +(
More informationArrays, Strings, & Pointers
Arrays, Strings, & Pointers Alexander Nelson August 31, 2018 University of Arkansas - Department of Computer Science and Computer Engineering Arrays, Strings, & Pointers Arrays, Strings, & Pointers are
More informationSWEN-250 Personal SE. Introduction to C
SWEN-250 Personal SE Introduction to C A Bit of History Developed in the early to mid 70s Dennis Ritchie as a systems programming language. Adopted by Ken Thompson to write Unix on a the PDP-11. At the
More informationCOMP2611: Computer Organization. Data Representation
COMP2611: Computer Organization Comp2611 Fall 2015 2 1. Binary numbers and 2 s Complement Numbers 3 Bits: are the basis for binary number representation in digital computers What you will learn here: How
More informationStandard File Pointers
1 Programming in C Standard File Pointers Assigned to console unless redirected Standard input = stdin Used by scan function Can be redirected: cmd < input-file Standard output = stdout Used by printf
More informationC PROGRAMMING. Characters and Strings File Processing Exercise
C PROGRAMMING Characters and Strings File Processing Exercise CHARACTERS AND STRINGS A single character defined using the char variable type Character constant is an int value enclosed by single quotes
More informationCS 101: Computer Programming and Utilization
CS 101: Computer Programming and Utilization Jul-Nov 2017 Umesh Bellur (cs101@cse.iitb.ac.in) Lecture 3: Number Representa.ons Representing Numbers Digital Circuits can store and manipulate 0 s and 1 s.
More informationCS 261 Fall Mike Lam, Professor. Structs and I/O
CS 261 Fall 2018 Mike Lam, Professor Structs and I/O Typedefs A typedef is a way to create a new type name Basically a synonym for another type Useful for shortening long types or providing more meaningful
More informationInput/Output: Advanced Concepts
Input/Output: Advanced Concepts CSE 130: Introduction to Programming in C Stony Brook University Related reading: Kelley/Pohl 1.9, 11.1 11.7 Output Formatting Review Recall that printf() employs a control
More informationC How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.
C How to Program, 6/e 1992-2010 by Pearson Education, Inc. An important part of the solution to any problem is the presentation of the results. In this chapter, we discuss in depth the formatting features
More informationECE 250 / CS 250 Computer Architecture. C to Binary: Memory & Data Representations. Benjamin Lee
ECE 250 / CS 250 Computer Architecture C to Binary: Memory & Data Representations Benjamin Lee Slides based on those from Alvin Lebeck, Daniel Sorin, Andrew Hilton, Amir Roth, Gershon Kedem Administrivia
More informationPointers and File Handling
1 Pointers and File Handling From variables to their addresses Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 2 Basics of Pointers INDIAN INSTITUTE OF TECHNOLOGY
More informationINTRODUCTION 1 AND REVIEW
INTRODUTION 1 AND REVIEW hapter SYS-ED/ OMPUTER EDUATION TEHNIQUES, IN. Programming: Advanced Objectives You will learn: Program structure. Program statements. Datatypes. Pointers. Arrays. Structures.
More informationIntroduction to file management
1 Introduction to file management Some application require input to be taken from a file and output is required to be stored in a file. The C language provides the facility of file input-output operations.
More informationThe Design of C: A Rational Reconstruction (cont.)" Jennifer Rexford!
The Design of C: A Rational Reconstruction (cont.)" Jennifer Rexford! 1 Goals of this Lecture"" Help you learn about:! The decisions that were available to the designers of C! The decisions that were made
More informationNumber Systems Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. Indian Institute of Technology Kharagpur Number Representation
Number Systems Prof. Indranil Sen Gupta Dept. of Computer Science & Engg. Indian Institute of Technology Kharagpur 1 Number Representation 2 1 Topics to be Discussed How are numeric data items actually
More informationGetting started with Java
Getting started with Java Magic Lines public class MagicLines { public static void main(string[] args) { } } Comments Comments are lines in your code that get ignored during execution. Good for leaving
More informationToday s Learning Objectives
Today s Learning Objectives 15-123 Systems Skills in C and Unix We will Review ints and modular arithmetic Learn basic Data types and Formats How Conditionals and loops work How Arrays are defined, accessed,
More informationOrganization of a file
File Handling 1 Storage seen so far All variables stored in memory Problem: the contents of memory are wiped out when the computer is powered off Example: Consider keeping students records 100 students
More informationWork relative to other classes
Work relative to other classes 1 Hours/week on projects 2 C BOOTCAMP DAY 1 CS3600, Northeastern University Slides adapted from Anandha Gopalan s CS132 course at Univ. of Pittsburgh Overview C: A language
More informationNumber Systems for Computers. Outline of Introduction. Binary, Octal and Hexadecimal numbers. Issues for Binary Representation of Numbers
Outline of Introduction Administrivia What is computer architecture? What do computers do? Representing high level things in binary Data objects: integers, decimals, characters, etc. Memory locations (We
More informationFloating-point Arithmetic. where you sum up the integer to the left of the decimal point and the fraction to the right.
Floating-point Arithmetic Reading: pp. 312-328 Floating-Point Representation Non-scientific floating point numbers: A non-integer can be represented as: 2 4 2 3 2 2 2 1 2 0.2-1 2-2 2-3 2-4 where you sum
More informationCourse Schedule. CS 221 Computer Architecture. Week 3: Plan. I. Hexadecimals and Character Representations. Hexadecimal Representation
Course Schedule CS 221 Computer Architecture Week 3: Information Representation (2) Fall 2001 W1 Sep 11- Sep 14 Introduction W2 Sep 18- Sep 21 Information Representation (1) (Chapter 3) W3 Sep 25- Sep
More informationCSE 230 Intermediate Programming in C and C++ Arrays, Pointers and Strings
CSE 230 Intermediate Programming in C and C++ Arrays, Pointers and Strings Fall 2017 Stony Brook University Instructor: Shebuti Rayana http://www3.cs.stonybrook.edu/~cse230/ Pointer Arithmetic and Element
More informationCOMP2121: Microprocessors and Interfacing. Number Systems
COMP2121: Microprocessors and Interfacing Number Systems http://www.cse.unsw.edu.au/~cs2121 Lecturer: Hui Wu Session 2, 2017 1 1 Overview Positional notation Decimal, hexadecimal, octal and binary Converting
More informationCMPT 102 Introduction to Scientific Computer Programming. Input and Output. Your first program
CMPT 102 Introduction to Scientific Computer Programming Input and Output Janice Regan, CMPT 102, Sept. 2006 0 Your first program /* My first C program */ /* make the computer print the string Hello world
More information211: Computer Architecture Summer 2016
211: Computer Architecture Summer 2016 Liu Liu Topic: C Programming Structure: - header files - global / local variables - main() - macro Basic Units: - basic data types - arithmetic / logical / bit operators
More informationEECS2031. Modifiers. Data Types. Lecture 2 Data types. signed (unsigned) int long int long long int int may be omitted sizeof()
Warning: These notes are not complete, it is a Skelton that will be modified/add-to in the class. If you want to us them for studying, either attend the class or get the completed notes from someone who
More informationDynamic memory allocation
Dynamic memory allocation outline Memory allocation functions Array allocation Matrix allocation Examples Memory allocation functions (#include ) malloc() Allocates a specified number of bytes
More informationToday s class. Review of more C Operating system overview. Informationsteknologi
Today s class Review of more C Operating system overview Monday, September 10, 2007 Computer Systems/Operating Systems - Class 3 1 Review of more C File handling Open a file using fopen Returns a file
More informationPRINCIPLES OF OPERATING SYSTEMS
PRINCIPLES OF OPERATING SYSTEMS Tutorial-1&2: C Review CPSC 457, Spring 2015 May 20-21, 2015 Department of Computer Science, University of Calgary Connecting to your VM Open a terminal (in your linux machine)
More informationCSC 2400: Computer Systems. Arrays and Strings in C
CSC 2400: Computer Systems Arrays and Strings in C Lecture Overview Arrays! List of elements of the same type Strings! Array of characters ending in \0! Functions for manipulating strings 1 Arrays: C vs.
More informationNumber Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as:
N Number Systems Standard positional representation of numbers: An unsigned number with whole and fraction portions is represented as: a n a a a The value of this number is given by: = a n Ka a a a a a
More informationDecimal & Binary Representation Systems. Decimal & Binary Representation Systems
Decimal & Binary Representation Systems Decimal & binary are positional representation systems each position has a value: d*base i for example: 321 10 = 3*10 2 + 2*10 1 + 1*10 0 for example: 101000001
More information2009 S2 COMP File Operations
2009 S2 COMP1921 9. File Operations Oliver Diessel odiessel@cse.unsw.edu.au Last updated: 16:00 22 Sep 2009 9. File Operations Topics to be covered: Streams Text file operations Binary file operations
More informationThese are reserved words of the C language. For example int, float, if, else, for, while etc.
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 a sequence of letters and digits, but must start with a letter.
More informationCIS 2107 Computer Systems and Low-Level Programming Fall 2011 Midterm
Fall 2011 Name: Page Points Score 1 5 2 10 3 10 4 7 5 8 6 15 7 4 8 7 9 16 10 18 Total: 100 Instructions The exam is closed book, closed notes. You may not use a calculator, cell phone, etc. For each of
More informationInput/Output and the Operating Systems
Input/Output and the Operating Systems Fall 2015 Jinkyu Jeong (jinkyu@skku.edu) 1 I/O Functions Formatted I/O printf( ) and scanf( ) fprintf( ) and fscanf( ) sprintf( ) and sscanf( ) int printf(const char*
More informationUnderstanding Pointers
Division of Mathematics and Computer Science Maryville College Pointers and Addresses Memory is organized into a big array. Every data item occupies one or more cells. A pointer stores an address. A pointer
More informationFinal Labs and Tutors
ICT106 Fundamentals of Computer Systems - Topic 2 REPRESENTATION AND STORAGE OF INFORMATION Reading: Linux Assembly Programming Language, Ch 2.4-2.9 and 3.6-3.8 Final Labs and Tutors Venue and time South
More informationC: Pointers, Arrays, and strings. Department of Computer Science College of Engineering Boise State University. August 25, /36
Department of Computer Science College of Engineering Boise State University August 25, 2017 1/36 Pointers and Arrays A pointer is a variable that stores the address of another variable. Pointers are similar
More information25.2 Opening and Closing a File
Lecture 32 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lecture 32: Dynamically Allocated Arrays 26-Nov-2018 Location: Chemistry 125 Time: 12:35 13:25 Instructor:
More informationProgramming in C Quick Start! Biostatistics 615 Lecture 4
Programming in C Quick Start! Biostatistics 615 Lecture 4 Last Lecture Analysis of Algorithms Empirical Analysis Mathematical Analysis Big-Oh notation Today Basics of programming in C Syntax of C programs
More informationC Libraries. Bart Childs Complementary to the text(s)
C Libraries Bart Childs Complementary to the text(s) 2006 C was designed to make extensive use of a number of libraries. A great reference for student purposes is appendix B of the K&R book. This list
More informationC BOOTCAMP DAY 2. CS3600, Northeastern University. Alan Mislove. Slides adapted from Anandha Gopalan s CS132 course at Univ.
C BOOTCAMP DAY 2 CS3600, Northeastern University Slides adapted from Anandha Gopalan s CS132 course at Univ. of Pittsburgh Pointers 2 Pointers Pointers are an address in memory Includes variable addresses,
More informationComputer System and programming in C
1 Basic Data Types Integral Types Integers are stored in various sizes. They can be signed or unsigned. Example Suppose an integer is represented by a byte (8 bits). Leftmost bit is sign bit. If the sign
More informationProgramming & Data Structure
File Handling Programming & Data Structure CS 11002 Partha Bhowmick http://cse.iitkgp.ac.in/ pb CSE Department IIT Kharagpur Spring 2012-2013 File File Handling File R&W argc & argv (1) A file is a named
More informationCSC 2400: Computer Systems. Arrays and Strings in C
CSC 2400: Computer Systems Arrays and Strings in C Lecture Overview Arrays! List of elements of the same type Strings! Array of characters ending in \0! Functions for manipulating strings 1 Arrays in C
More informationCourse organization. Course introduction ( Week 1)
Course organization Course introduction ( Week 1) Code editor: Emacs Part I: Introduction to C programming language (Week 2-9) Chapter 1: Overall Introduction (Week 1-3) Chapter 2: Types, operators and
More informationLectures 5-6: Introduction to C
Lectures 5-6: Introduction to C Motivation: C is both a high and a low-level language Very useful for systems programming Faster than Java This intro assumes knowledge of Java Focus is on differences Most
More informationComputer (Literacy) Skills. Number representations and memory. Lubomír Bulej KDSS MFF UK
Computer (Literacy Skills Number representations and memory Lubomír Bulej KDSS MFF UK Number representations? What for? Recall: computer works with binary numbers Groups of zeroes and ones 8 bits (byte,
More informationFile Handling in C. EECS 2031 Fall October 27, 2014
File Handling in C EECS 2031 Fall 2014 October 27, 2014 1 Reading from and writing to files in C l stdio.h contains several functions that allow us to read from and write to files l Their names typically
More informationCS Programming In C
CS 24000 - Programming In C Week Two: Basic C Program Organization and Data Types Zhiyuan Li Department of Computer Science Purdue University, USA 2 int main() { } return 0; The Simplest C Program C programs
More informationECE551 Midterm Version 1
Name: ECE551 Midterm Version 1 NetID: There are 7 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly. This exam must be individual
More informationUnit 6 Files. putchar(ch); ch = getc (fp); //Reads single character from file and advances position to next character
1. What is File management? In real life, we want to store data permanently so that later on we can retrieve it and reuse it. A file is a collection of bytes stored on a secondary storage device like hard
More informationNumber Systems, Scalar Types, and Input and Output
Number Systems, Scalar Types, and Input and Output Outline: Binary, Octal, Hexadecimal, and Decimal Numbers Character Set Comments Declaration Data Types and Constants Integral Data Types Floating-Point
More informationQuick Note on Memory 198:211 Computer Architecture
Quick Note on Memory 198:211 Computer Architecture Topics: Pointers Advanced Types I/O Week 3 Fall 2012 We ll get into much more detail on this later in the course Remember Von Neuman Architecture All
More informationAccessing Files in C. Professor Hugh C. Lauer CS-2303, System Programming Concepts
Accessing Files in C Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and Ritchie, Absolute C++, by Walter
More informationch = argv[i][++j]; /* why does ++j but j++ does not? */
CMPS 12M Introduction to Data Structures Lab Lab Assignment 4 The purpose of this lab assignment is to get more practice programming in C, including the character functions in the library ctype.h, and
More informationMuntaser Abulafi Yacoub Sabatin Omar Qaraeen. C Data Types
Programming Fundamentals for Engineers 0702113 5. Basic Data Types Muntaser Abulafi Yacoub Sabatin Omar Qaraeen 1 2 C Data Types Variable definition C has a concept of 'data types' which are used to define
More informationPointers (part 1) What are pointers? EECS We have seen pointers before. scanf( %f, &inches );! 25 September 2017
Pointers (part 1) EECS 2031 25 September 2017 1 What are pointers? We have seen pointers before. scanf( %f, &inches );! 2 1 Example char c; c = getchar(); printf( %c, c); char c; char *p; c = getchar();
More informationCIS 2107 Computer Systems and Low-Level Programming Fall 2011 Midterm Solutions
Fall 2011 Name: Page Points Score 1 7 2 10 3 8 4 13 6 17 7 4 8 16 9 15 10 10 Total: 100 Instructions The exam is closed book, closed notes. You may not use a calculator, cell phone, etc. For each of the
More informationEL2310 Scientific Programming
Lecture 12: Memory, Files and Bitoperations (pronobis@kth.se) Overview Overview Lecture 12: Memory, Files and Bit operations Wrap Up Main function; reading and writing Bitwise Operations Wrap Up Lecture
More informationPROGRAMMAZIONE I A.A. 2017/2018
PROGRAMMAZIONE I A.A. 2017/2018 INPUT/OUTPUT INPUT AND OUTPUT Programs must be able to write data to files or to physical output devices such as displays or printers, and to read in data from files or
More informationLectures 5-6: Introduction to C
Lectures 5-6: Introduction to C Motivation: C is both a high and a low-level language Very useful for systems programming Faster than Java This intro assumes knowledge of Java Focus is on differences Most
More informationNumber System. Introduction. Decimal Numbers
Number System Introduction Number systems provide the basis for all operations in information processing systems. In a number system the information is divided into a group of symbols; for example, 26
More information15213 Recitation 2: Floating Point
15213 Recitation 2: Floating Point 1 Introduction This handout will introduce and test your knowledge of the floating point representation of real numbers, as defined by the IEEE standard. This information
More informationCSCI 6610: Review. Chapter 7: Numbers Chapter 8: Characters Chapter 11 Pointers
... 1/27 CSCI 6610: Review Chapter 7: Numbers Chapter 8: Characters Chapter 11 Pointers Alice E. Fischer February 1, 2016 ... 2/27 Outline The Trouble with Numbers The char Data Types Pointers ... 3/27
More informationTHE C STANDARD LIBRARY & MAKING YOUR OWN LIBRARY. ISA 563: Fundamentals of Systems Programming
THE C STANDARD LIBRARY & MAKING YOUR OWN LIBRARY ISA 563: Fundamentals of Systems Programming Announcements Homework 2 posted Homework 1 due in two weeks Typo on HW1 (definition of Fib. Sequence incorrect)
More informationSystem Software Experiment 1 Lecture 7
System Software Experiment 1 Lecture 7 spring 2018 Jinkyu Jeong ( jinkyu@skku.edu) Computer Systems Laboratory Sungyunkwan University http://csl.skku.edu SSE3032: System Software Experiment 1, Spring 2018
More information