CPSC 301: Computing in the Life Sciences Lecture Notes 16: Data Representation

Size: px
Start display at page:

Download "CPSC 301: Computing in the Life Sciences Lecture Notes 16: Data Representation"

Transcription

1 CPSC 301: Computing in the Life Sciences Lecture Notes 16: Data Representation George Tsiknis University of British Columbia Department of Computer Science Winter Term 2, Last updated: 04/04/ :04 PM Original slides by Ian M. Mitchell ; Revisions/updates by George Tsiknis

2 Representations for simple data Binary representations of numbers ASCII and Unicode representations for characters Other representations XML Documents Compression Images Outline Python pickling-storing data in files 2

3 Objectives At the end of this section, you will be able to: Explain the binary representation of positive integers Recognize that similar representations are used for negative integers, memory addresses, floating point numbers Explain the ASCII / UTF-8 representation of characters Explain how strings are compared by Python Explain what compression is and the difference between lossy and lossless compression List some examples of lossless and lossy compression formats List some examples of document formats List some examples of image formats, and explain situations where one type of format might be preferred over another Explain the meaning of "pickling" in Python 3

4 Representing Numbers: Integers Any info that is stored in a computer is represented by streams of 0 s and 1 s called bits information stored in voltage, light or magnetic field. etc. for instance, 0 could mean high voltage, 1 mean low voltage Bits are grouped in groups of 8, called bytes A number is represented by its binary value similar to our standard counting system ( decimal or base 10 ) but now each digit is either 0 or 1 ( binary or base 2 ) decimal system uses a base of 10 and ten digits (0,1, 2,...,9) binary system used a base of 2 and two digits 0 and 1 decimal system the value of each position is a power of 10 i.e. 105 in decimal is : 1x x binary system the value of each position is a power of in binary is : = 1x x x x x x

5 Representing Numbers (cont ) To convert the decimal 105 to binary, keep dividing by 2 and take the remainders: 105 / 2 = 52 rem 1 52 / 2 = 26 rem 0 26 / 2 = 13 rem 0 13 / 2 = 6 rem 1 6 / 2 = 3 rem 0 3 / 2 = 1 rem 1 1 / 2 = 0 rem 1 Now take the remainders from bottom up and add 0 s in front to make it to the length you want. for instance, 105 in 8 bits is: A regular Python integer is 32 bits or 4 bytes can hold the numbers from to Python is happy to store an integer with larger magnitude In Python 2, these were called "long integers" In Python 3, it is hidden from the user In other languages "overflow" often causes bugs in integer arithmetic Negative numbers represented with two s-complement for instance number k is represented in n bits by the number 2 n -k 5

6 Approximating Real Numbers Most non-integer numbers cannot be exactly represented by a computer The most common approach to representing such number is called floating point, which is similar to scientific notation ±c(10 q ) Written as ±ceq, where typically -10 < c < +10 and q is an integer For example: 1.496e11 denotes 1.496(10 11 ) Stored internally using the IEEE floating point standard Either 32 (single precision) or 64 (double precision) bits divided into three parts: a sign, a mantissa or coefficient (the part before "e") and an exponent (the part after "e") Python float corresponds to IEEE double precision, which can represent roughly the range ±10 ±308 with about 16 digits of precision 6

7 Memory Addresses Just a positive integer Always of fixed size on a given machine (either 4 or 8 bytes on current machines) Often displayed in hexadecimal (base 16) notation to distinguish them from regular integers Hexadecimal numbers are usually displayed with a "0x" at the beginning to distinguish them from integers or strings; for example, 0x025D90F0 Not an explicit data type in Python, but implicit in (almost) every reference to an object 7

8 Representing Characters Computers can only store numbers Characters are represented by assigning a number for each character There are a number of coding schemes American Standard Code for Information Interchange (ASCII) is the oldest coding scheme for English Developed in the 1960s for teletype machines Uses one byte per character but only 7 of the bits are used for the character Numbers 0 to 31 and 127 are control characters such as line feed (\n), tab (\t) and many obsolete codes Numbers 32 to 126 are the standard characters used in English (letters, numbers, punctuation) 8

9 Representing Characters (cont'd) 128 different characters can be represented using ASCII Examples of ASCII characters: 0 is represented by (48) 9 ===> (57) A ===> (65) Z ===> (90) a ===> (97) z ===> (122) Appendix I has a table with the ASCII codes Example: The string " "CPSC 301!" will be represented with 9 bytes containing the numbers:

10 Other Encodings: Unicode, UTF-8, UTF-16 Lack of standard encoding for all languages seriously complicates development of internationally used software Newer Unicode standard includes more than 107,000 characters in 90 scripts Includes a variety of different encodings: UTF-8, UTF-16,... UTF-8 (Unicode Translation Format ) has widely replaced ASCII Uses 1 to 4 bytes for each character First 127 characters of UTF-8 are exactly the same as US-ASCII, and it is hence backward-compatible In Python 3, all strings are encoded in Unicode In Python 2 Regular strings use the computer's local encoding Unicode strings (preceded by the letter u) permit access to any Unicode standard: u'äöü' Functions are available to translate between different encodings 10

11 Stupid Newline! ASCII was defined for teletypes and has two control characters related to line control line feed (LF, \n or ASCII code 10) which told the paper controller to move the paper down one line carriage return (CR, \r or ASCII code 13) which told the printer head to move back to the left side of the page Unfortunately, computer operating system designers chose different ways of representing the end of a line in a file Linux, MacOS 10 and after, Unix and others chose LF Windows and others chose CR+LF MacOS 9 and before and others chose CR So when you transmit files between different OS, the line breaks do not appear correctly Python (mostly) adopts \n internally, and converts to local OS representation when files are written 11

12 Plain text Document Formats Portable Document Format (PDF) Developed by Adobe Systems, now an ISO standard Has features to handle fonts, pictures and other content and potentially compress the result Office Open XML Developed by Microsoft, now an ISO standard An XML-based representation including both word processing and spreadsheet data, and compression Other formats: Rich Text Format (RTF), MS binary formats (Word ), TeX & LaTeX, Open Document, Postscript 12

13 extensible Markup Language (XML) A standard set of rules for encoding documents A document is a string of unicode characters A document contains markup and content Markup data are strings of the form <...> (called tags ) or &...; Content is surrounded by start and end tags that identify the meaning of that element of the content XML is a very general standard For specific data storage tasks, a schema will be defined which specifies the types and meaning of markup tags Often given in Document Type Definitions (DTDs), XML Schema Definition (XSDs) or some other languages Example: the BLAST results from NCBI is stored in an XML format that NCBI has defined. XML is often used for data exchange between devices (i.e. a mobile application and a server ). 13

14 Data Compression Store data using fewer bits, typically by taking advantage of repetition in the data For example: compress the string Here are some letter j: jjjjjjjjj. Here are some letter k: kkkkkkkkk. Advantages: Fewer bits to store / transmit Disadvantages: Extra computational cost, removing redundancy may increase sensitivity to errors Lossless compression requires that original data be recreated exactly Used for generic computer data, such as documents and programs, where every bit matters Examples: zip, gzip, bzip2, 7-zip, compress, png, gif, tiff,... Lossy compression permits small errors in order to achieve higher compression ratios Used for pictures, movies & audio where the perceived quality of the result suffers little from the error examples: jpeg, mpeg, mp3,... 14

15 Image Formats Vector formats Image is composed of geometric primitives (points, lines, curves, circles, etc) with mathematical descriptions which can be examined at arbitrary resolution Supported by Scalable Vector Graphics (svg) format, as well as inside pdf document format and for modern fonts (such as true type and postscript) Raster formats Image is composed of an array of pixels and has fixed resolution Pixels typically have integer colour (or a tuple of integer colours) Supported by bmp, tiff, gif, jpeg, png,... Lossy compression: jpeg Lossless compression: gif, png There are situations where vector is better, and situations where raster is better. Basic rules: For natural images (eg: photographs) use jpeg. For synthesized images (eg: plots) use png (or possibly svg ). 15

16 Representing More Complex Data Representations of the built-in complex data types: Conceptually, everything can be represented as a dictionary A dictionary acts like a table of key-value pairs, but it is very efficiently implemented In practice, Python has more efficient implementations of commonly used data structures like lists and files Python s built-in types are easy to use because they hide the implementation details from the user User-defined classes representation A well-designed class (or hierarchy of classes) likewise hides the data s representation ; Uses methods to access the data For example: You do not need to know that Biopython s Seq class stores the sequence data as a string; you just need to know how to call the methods transcribe() and translate() 16

17 Storing Complex Data in Files Often programmers find the need of storing and retrieving complex data from a file. We call these data persistent data because they can exist after the program terminates and can be used again by the same or other programs. Files store bytes. All you need to do is define what those bytes mean by defining a file format or storage protocol Specifies how characters / bytes in the file should be interpreted Examples: the FASTA and GenBank formats we have seen Python has a simple but powerful procedure to convert an object into a series of bytes and store it in a file. This process is called object serialization (or pickling in Python's jargon). Another procedure can read this series of bytes from the file and create the original object (unpickling). The Python module that performs serialization is called pickle 17

18 Converts Python objects into strings which can then be written to and read from files Some restrictions on user defined objects Only accessible through Python To save objects to a file we can do the following: import pickle object1 = object2 =. create one or more objects f = open(filename, "wb") open the file for writing (binary) pickle.dump(f, object1) use pickle's dump method to write pickle.dump(f, object2) f.close() Python's pickle Module objects (one at a time) to the file close the file 18

19 To get back the objects we have stored in a file using pickle we can do the following: import pickle f = open(filename, "rb") open the file for reading (binary) # use pickle's load to get the objects back in the same order object1 = pickle.load(f) object2 = pickle.load(f)... f.close() Python's pickle Module (cont'd) For an example see files close the file pickle_towns.py and unpickle_towns.py This process is also called serialization since it turns the data into a long serial sequence of bytes. Another way to serialize data is by using an XML format. 19

20 Summary All data in a computer is represented in binary by bits Different types of data interpret those bits in different ways Common examples of basic types are integers, memory addresses, floating point, and characters Incompatible representations of similar types has caused widespread frustration and failure Files / documents can be stored in many different formats Some formats are character based and some are binary Compression can considerably shrink the size of a file Can be used to offset the file size disadvantages of using character based formats Comes in lossy or lossless varieties Python has many ways of storing data Reading and writing character or binary files is built in Modules are available for most standard document formats Complex data types can be saved in binary format by pickling 20

21 21 Appendix I: ASCII Codes for Characters 000 NUL 001 SOH 002 STX 003 ETX 004 EOT 005 ENQ 006 ACK 007 BEL 008 BS 009 HT 010 NL 011 VT 012 NP 013 CR 014 SO 015 SI 016 DLE 017 DC1 018 DC2 019 DC3 020 DC4 021 NAK 022 SYN 023 ETB 024 CAN 025 EM 026 SUB 027 ESC 028 FS 029 GS 030 RS 031 US 032 SP 033! 034 " 035 # 036 $ 037 % 038 & 039 ' 040 ( 041 ) 042 * , / : 059 ; 060 < 061 = 062 > 063? 065 A 066 B 067 C 068 D 069 E 070 F 071 G 072 H 073 I 074 J 075 K 076 L 077 M 078 N 079 O 080 P 081 Q 082 R 083 S 084 T 085 U 086 V 087 W 088 X 089 Y 090 Z 091 [ 092 \ 093 ] 094 ^ 095 _ 096 ` 097 a 098 b 099 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { } 126 ~ 127 DEL 21

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter 2 Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize

More information

Data Representation and Binary Arithmetic. Lecture 2

Data Representation and Binary Arithmetic. Lecture 2 Data Representation and Binary Arithmetic Lecture 2 Computer Data Data is stored as binary; 0 s and 1 s Because two-state ( 0 & 1 ) logic elements can be manufactured easily Bit: binary digit (smallest

More information

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize two

More information

CPS 104 Computer Organization and Programming Lecture-2 : Data representations,

CPS 104 Computer Organization and Programming Lecture-2 : Data representations, CPS 104 Computer Organization and Programming Lecture-2 : Data representations, Sep. 1, 1999 Dietolf Ramm http://www.cs.duke.edu/~dr/cps104.html CPS104 Lec2.1 GK&DR Fall 1999 Data Representation Computers

More information

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter 2 Bits, Data Types, and Operations Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University How do we represent data in a computer?!

More information

CSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.

CSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc. 9 February 2011 CSE-1520R Test #1 [B4] p. 1 of 8 CSE-1520R Test #1 Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 45 minutes Term: Winter 2011 The exam is closed

More information

Numbers and Computers. Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras

Numbers and Computers. Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras Numbers and Computers Debdeep Mukhopadhyay Assistant Professor Dept of Computer Sc and Engg IIT Madras 1 Think of a number between 1 and 15 8 9 10 11 12 13 14 15 4 5 6 7 12 13 14 15 2 3 6 7 10 11 14 15

More information

1.1. INTRODUCTION 1.2. NUMBER SYSTEMS

1.1. INTRODUCTION 1.2. NUMBER SYSTEMS Chapter 1. 1.1. INTRODUCTION Digital computers have brought about the information age that we live in today. Computers are important tools because they can locate and process enormous amounts of information

More information

Source coding and compression

Source coding and compression Computer Mathematics Week 5 Source coding and compression College of Information Science and Engineering Ritsumeikan University last week binary representations of signed numbers sign-magnitude, biased

More information

CSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.

CSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc. 9 February 2011 CSE-1520R Test #1 [7F] w/ answers p. 1 of 8 CSE-1520R Test #1 Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 45 minutes Term: Winter 2011 The

More information

Fundamentals of Programming (C)

Fundamentals of Programming (C) Borrowed from lecturer notes by Omid Jafarinezhad Fundamentals of Programming (C) Group 8 Lecturer: Vahid Khodabakhshi Lecture Number Systems Department of Computer Engineering Outline Numeral Systems

More information

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter 2 Bits, Data Types, and Operations Original slides from Gregory Byrd, North Carolina State University Modified by Chris Wilcox, S. Rajopadhye Colorado State University How do we represent data

More information

Under the Hood: Data Representation. Computer Science 104 Lecture 2

Under the Hood: Data Representation. Computer Science 104 Lecture 2 Under the Hood: Data Representation Computer Science 104 Lecture 2 Admin Piazza, Sakai Up Everyone should have access Homework 1 Posted Due Feb 6 PDF or Plain Text Only: No Word or RTF Recommended: Learn

More information

Number System (Different Ways To Say How Many) Fall 2016

Number System (Different Ways To Say How Many) Fall 2016 Number System (Different Ways To Say How Many) Fall 2016 Introduction to Information and Communication Technologies CSD 102 Email: mehwish.fatima@ciitlahore.edu.pk Website: https://sites.google.com/a/ciitlahore.edu.pk/ict/

More information

Fundamentals of Programming

Fundamentals of Programming Fundamentals of Programming Lecture 2 Number Systems & Arithmetic Lecturer : Ebrahim Jahandar Some Parts borrowed from slides by IETC1011-Yourk University Common Number Systems System Base Symbols Used

More information

Chapter 3. Information Representation

Chapter 3. Information Representation Chapter 3 Information Representation Instruction Set Architecture APPLICATION LEVEL HIGH-ORDER LANGUAGE LEVEL ASSEMBLY LEVEL OPERATING SYSTEM LEVEL INSTRUCTION SET ARCHITECTURE LEVEL 3 MICROCODE LEVEL

More information

CMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes

CMSC 313 Lecture 03 Multiple-byte data big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes Multiple-byte data CMSC 313 Lecture 03 big-endian vs little-endian sign extension Multiplication and division Floating point formats Character Codes UMBC, CMSC313, Richard Chang 4-5 Chapter

More information

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Junaid Khalid and Pradip Vallathol Midterm Examination 1 In Class (50 minutes) Friday, September

More information

EE 109 Unit 3. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL

EE 109 Unit 3. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL 3. 3. EE 9 Unit 3 Binary Representation Systems ANALOG VS. DIGITAL 3.3 3. Analog vs. Digital The analog world is based on continuous events. Observations can take on any (real) value. The digital world

More information

3.1. Unit 3. Binary Representation

3.1. Unit 3. Binary Representation 3.1 Unit 3 Binary Representation ANALOG VS. DIGITAL 3.2 3.3 Analog vs. Digital The analog world is based on continuous events. Observations can take on (real) any value. The digital world is based on discrete

More information

Chapter 2 Bits, Data Types, and Operations

Chapter 2 Bits, Data Types, and Operations Chapter 2 Bits, Data Types, and Operations Computer is a binary digital system. Digital system: finite number of symbols Binary (base two) system: has two states: 0 and 1 Basic unit of information is the

More information

Binary Numbers. The Basics. Base 10 Number. What is a Number? = Binary Number Example. Binary Number Example

Binary Numbers. The Basics. Base 10 Number. What is a Number? = Binary Number Example. Binary Number Example The Basics Binary Numbers Part Bit of This and a Bit of That What is a Number? Base Number We use the Hindu-Arabic Number System positional grouping system each position represents a power of Binary numbers

More information

Unit 3. Analog vs. Digital. Analog vs. Digital ANALOG VS. DIGITAL. Binary Representation

Unit 3. Analog vs. Digital. Analog vs. Digital ANALOG VS. DIGITAL. Binary Representation 3.1 3.2 Unit 3 Binary Representation ANALOG VS. DIGITAL 3.3 3.4 Analog vs. Digital The analog world is based on continuous events. Observations can take on (real) any value. The digital world is based

More information

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON

CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON CS/ECE 252: INTRODUCTION TO COMPUTER ENGINEERING UNIVERSITY OF WISCONSIN MADISON Prof. Gurindar Sohi TAs: Pradip Vallathol and Junaid Khalid Midterm Examination 1 In Class (50 minutes) Friday, September

More information

Bits and Bytes. Data Representation. A binary digit or bit has a value of either 0 or 1; these are the values we can store in hardware devices.

Bits and Bytes. Data Representation. A binary digit or bit has a value of either 0 or 1; these are the values we can store in hardware devices. Bits and Bytes 1 A binary digit or bit has a value of either 0 or 1; these are the values we can store in hardware devices. A byte is a sequence of 8 bits. A byte is also the fundamental unit of storage

More information

EE 109 Unit 2. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL

EE 109 Unit 2. Analog vs. Digital. Analog vs. Digital. Binary Representation Systems ANALOG VS. DIGITAL EE 9 Unit Binary Representation Systems ANALOG VS. DIGITAL Analog vs. Digital The analog world is based on continuous events. Observations can take on any (real) value. The digital world is based on discrete

More information

Number Systems for Computers. Outline of Introduction. Binary, Octal and Hexadecimal numbers. Issues for Binary Representation of Numbers

Number 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 information

Number Representations

Number Representations Simple Arithmetic [Arithm Notes] Number representations Signed numbers Sign-magnitude, ones and twos complement Arithmetic Addition, subtraction, negation, overflow MIPS instructions Logic operations MIPS

More information

Number Systems Base r

Number Systems Base r King Fahd University of Petroleum & Minerals Computer Engineering Dept COE 2 Fundamentals of Computer Engineering Term 22 Dr. Ashraf S. Hasan Mahmoud Rm 22-44 Ext. 724 Email: ashraf@ccse.kfupm.edu.sa 3/7/23

More information

Oberon Data Types. Matteo Corti. December 5, 2001

Oberon Data Types. Matteo Corti. December 5, 2001 Oberon Data Types Matteo Corti corti@inf.ethz.ch December 5, 2001 1 Introduction This document is aimed at students without any previous programming experience. We briefly describe some data types of the

More information

5/17/2009. Digitizing Discrete Information. Ordering Symbols. Analog vs. Digital

5/17/2009. Digitizing Discrete Information. Ordering Symbols. Analog vs. Digital Chapter 8: Bits and the "Why" of Bytes: Representing Information Digitally Digitizing Discrete Information Fluency with Information Technology Third Edition by Lawrence Snyder Copyright 2008 Pearson Education,

More information

The Binary Number System

The Binary Number System The Binary Number System Robert B. Heckendorn University of Idaho August 24, 2017 Numbers are said to be represented by a place-value system, where the value of a symbol depends on where it is... its place.

More information

DATA REPRESENTATION. Data Types. Complements. Fixed Point Representations. Floating Point Representations. Other Binary Codes. Error Detection Codes

DATA REPRESENTATION. Data Types. Complements. Fixed Point Representations. Floating Point Representations. Other Binary Codes. Error Detection Codes 1 DATA REPRESENTATION Data Types Complements Fixed Point Representations Floating Point Representations Other Binary Codes Error Detection Codes 2 Data Types DATA REPRESENTATION Information that a Computer

More information

Exercises Software Development I. 03 Data Representation. Data types, range of values, internal format, literals. October 22nd, 2014

Exercises Software Development I. 03 Data Representation. Data types, range of values, internal format, literals. October 22nd, 2014 Exercises Software Development I 03 Data Representation Data types, range of values, ernal format, literals October 22nd, 2014 Software Development I Wer term 2013/2014 Priv.-Doz. Dipl.-Ing. Dr. Andreas

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012 CMSC 33 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 2, FALL 22 TOPICS TODAY Bits of Memory Data formats for negative numbers Modulo arithmetic & two s complement Floating point formats

More information

EE 109 Unit 2. Binary Representation Systems

EE 109 Unit 2. Binary Representation Systems EE 09 Unit 2 Binary Representation Systems ANALOG VS. DIGITAL 2 3 Analog vs. Digital The analog world is based on continuous events. Observations can take on (real) any value. The digital world is based

More information

Number Systems II MA1S1. Tristan McLoughlin. November 30, 2013

Number Systems II MA1S1. Tristan McLoughlin. November 30, 2013 Number Systems II MA1S1 Tristan McLoughlin November 30, 2013 http://en.wikipedia.org/wiki/binary numeral system http://accu.org/index.php/articles/18 http://www.binaryconvert.com http://en.wikipedia.org/wiki/ascii

More information

2a. Codes and number systems (continued) How to get the binary representation of an integer: special case of application of the inverse Horner scheme

2a. Codes and number systems (continued) How to get the binary representation of an integer: special case of application of the inverse Horner scheme 2a. Codes and number systems (continued) How to get the binary representation of an integer: special case of application of the inverse Horner scheme repeated (integer) division by two. Example: What is

More information

Data Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent?

Data Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent? CSC 2400: Computer Systems Data Representa5on What kinds of data do we need to represent? - Numbers signed, unsigned, integers, floating point, complex, rational, irrational, - Text characters, strings,

More information

Data Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent?

Data Representa5on. CSC 2400: Computer Systems. What kinds of data do we need to represent? CSC 2400: Computer Systems Data Representa5on What kinds of data do we need to represent? - Numbers signed, unsigned, integers, floating point, complex, rational, irrational, - Text characters, strings,

More information

plc numbers Encoded values; BCD and ASCII Error detection; parity, gray code and checksums

plc numbers Encoded values; BCD and ASCII Error detection; parity, gray code and checksums plc numbers - 3. 3. NUMBERS AND DATA Topics: Number bases; binary, octal,, hexa Binary calculations; s compliments, addition, subtraction and Boolean operations Encoded values; BCD and ASCII Error detection;

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, SPRING 2013

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, SPRING 2013 CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, SPRING 2013 TOPICS TODAY Bits of Memory Data formats for negative numbers Modulo arithmetic & two s complement Floating point

More information

Data Storage. Slides derived from those available on the web site of the book: Computer Science: An Overview, 11 th Edition, by J.

Data Storage. Slides derived from those available on the web site of the book: Computer Science: An Overview, 11 th Edition, by J. Data Storage Slides derived from those available on the web site of the book: Computer Science: An Overview, 11 th Edition, by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Data Storage Bits

More information

Chapter 2 Number System

Chapter 2 Number System Chapter 2 Number System Embedded Systems with ARM Cortext-M Updated: Tuesday, January 16, 2018 What you should know.. Before coming to this class Decimal Binary Octal Hex 0 0000 00 0x0 1 0001 01 0x1 2

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices

More information

Unit 3, Lesson 2 Data Types, Arithmetic,Variables, Input, Constants, & Library Functions. Mr. Dave Clausen La Cañada High School

Unit 3, Lesson 2 Data Types, Arithmetic,Variables, Input, Constants, & Library Functions. Mr. Dave Clausen La Cañada High School Unit 3, Lesson 2 Data Types, Arithmetic,Variables, Input, Constants, & Library Functions Mr. Dave Clausen La Cañada High School Vocabulary Variable- A variable holds data that can change while the program

More information

Chapter 1. Data Storage Pearson Addison-Wesley. All rights reserved

Chapter 1. Data Storage Pearson Addison-Wesley. All rights reserved Chapter 1 Data Storage 2007 Pearson Addison-Wesley. All rights reserved Chapter 1: Data Storage 1.1 Bits and Their Storage 1.2 Main Memory 1.3 Mass Storage 1.4 Representing Information as Bit Patterns

More information

3 Data Storage 3.1. Foundations of Computer Science Cengage Learning

3 Data Storage 3.1. Foundations of Computer Science Cengage Learning 3 Data Storage 3.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List five different data types used in a computer. Describe how

More information

Simple Data Types in C. Alan L. Cox

Simple Data Types in C. Alan L. Cox Simple Data Types in C Alan L. Cox alc@rice.edu Objectives Be able to explain to others what a data type is Be able to use basic data types in C programs Be able to see the inaccuracies and limitations

More information

ASSIGNMENT 5 TIPS AND TRICKS

ASSIGNMENT 5 TIPS AND TRICKS ASSIGNMENT 5 TIPS AND TRICKS linear-feedback shift registers Java implementation a simple encryption scheme http://princeton.edu/~cos26 Last updated on /26/7 : PM Goals OOP: implement a data type; write

More information

Fundamental Data Types

Fundamental Data Types Fundamental Data Types Lecture 4 Sections 2.7-2.10 Robb T. Koether Hampden-Sydney College Mon, Sep 3, 2018 Robb T. Koether (Hampden-Sydney College) Fundamental Data Types Mon, Sep 3, 2018 1 / 25 1 Integers

More information

Lecture (09) x86 programming 8

Lecture (09) x86 programming 8 Lecture (09) x86 programming 8 By: Dr. Ahmed ElShafee 1 Basic Input Output System BIOS BIOS refers to a set of procedures or functions that enable the programmer have access to the hardware of the computer.

More information

Bits and Bit Patterns

Bits and Bit Patterns Bits and Bit Patterns Bit: Binary Digit (0 or 1) Bit Patterns are used to represent information. Numbers Text characters Images Sound And others 0-1 Boolean Operations Boolean Operation: An operation that

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012 CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 02, FALL 2012 ANNOUNCEMENTS TA Office Hours (ITE 334): Genaro Hernandez, Jr. Mon 10am 12noon Roshan Ghumare Wed 10am 12noon Prof.

More information

Chapter 8. Characters and Strings

Chapter 8. Characters and Strings Chapter 8 Characters and s OJECTIVES After you have read and studied this chapter, you should be able to Declare and manipulate data of the char data type. Write string processing programs using and uffer

More information

Chapter 7. Binary, octal and hexadecimal numbers

Chapter 7. Binary, octal and hexadecimal numbers Chapter 7. Binary, octal and hexadecimal numbers This material is covered in the books: Nelson Magor Cooke et al, Basic mathematics for electronics (7th edition), Glencoe, Lake Forest, Ill., 1992. [Hamilton

More information

Positional Number System

Positional Number System Positional Number System A number is represented by a string of digits where each digit position has an associated weight. The weight is based on the radix of the number system. Some common radices: Decimal.

More information

CS341 *** TURN OFF ALL CELLPHONES *** Practice NAME

CS341 *** TURN OFF ALL CELLPHONES *** Practice NAME CS341 *** TURN OFF ALL CELLPHONES *** Practice Final Exam B. Wilson NAME OPEN BOOK / OPEN NOTES: I GIVE PARTIAL CREDIT! SHOW ALL WORK! 1. Processor Architecture (20 points) a. In a Harvard architecture

More information

Do not start the test until instructed to do so!

Do not start the test until instructed to do so! Instructions: Print your name in the space provided below. This examination is closed book and closed notes, aside from the permitted one-page formula sheet. No calculators or other electronic devices

More information

a- As a special case, if there is only one symbol, no bits are required to specify it.

a- As a special case, if there is only one symbol, no bits are required to specify it. Codes A single bit is useful if exactly two answers to a question are possible. Examples include the result of a coin toss (heads or tails), Most situations in life are more complicated. This chapter concerns

More information

Experiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program.

Experiment 3. TITLE Optional: Write here the Title of your program.model SMALL This directive defines the memory model used in the program. Experiment 3 Introduction: In this experiment the students are exposed to the structure of an assembly language program and the definition of data variables and constants. Objectives: Assembly language

More information

Digital Representation

Digital Representation Special guests today: Informatics students: Benji Schwartz-Gilbert Ryan Musgrave DevynJones Announcements Why is BYTE spelled with a Y? Why "BYTE" The Engineers at IBM were looking for a word for a quantity

More information

Jianhui Zhang, Ph.D., Associate Prof. College of Computer Science and Technology, Hangzhou Dianzi Univ.

Jianhui Zhang, Ph.D., Associate Prof. College of Computer Science and Technology, Hangzhou Dianzi Univ. Jianhui Zhang, Ph.D., Associate Prof. College of Computer Science and Technology, Hangzhou Dianzi Univ. Email: jh_zhang@hdu.edu.cn Copyright 2015 Pearson Education, Inc. Chapter 1: Data Storage Computer

More information

FA269 - DIGITAL MEDIA AND CULTURE

FA269 - DIGITAL MEDIA AND CULTURE FA269 - DIGITAL MEDIA AND CULTURE ST. LAWRENCE UNIVERSITY a. hauber http://blogs.stlawu.edu/digitalmedia DIGITAL TECHNICAL PRIMER INCLUDED HERE ARE THE FOLLOWING TOPICS A. WHAT IS A COMPUTER? B. THE DIFFERENCE

More information

4/14/2015. Architecture of the World Wide Web. During this session we will discuss: Structure of the World Wide Web

4/14/2015. Architecture of the World Wide Web. During this session we will discuss: Structure of the World Wide Web Internet Gambling Investigations Architecture of the World Wide Web Ω Objectives During this session we will discuss: The term world wide web User interaction on the world wide web The purpose of gateways

More information

Chapter 1. Hardware. Introduction to Computers and Programming. Chapter 1.2

Chapter 1. Hardware. Introduction to Computers and Programming. Chapter 1.2 Chapter Introduction to Computers and Programming Hardware Chapter.2 Hardware Categories Input Devices Process Devices Output Devices Store Devices /2/27 Sacramento State - CSc A 3 Storage Devices Primary

More information

Review. Single Pixel Filters. Spatial Filters. Image Processing Applications. Thresholding Posterize Histogram Equalization Negative Sepia Grayscale

Review. Single Pixel Filters. Spatial Filters. Image Processing Applications. Thresholding Posterize Histogram Equalization Negative Sepia Grayscale Review Single Pixel Filters Thresholding Posterize Histogram Equalization Negative Sepia Grayscale Spatial Filters Smooth Blur Low Pass Filter Sharpen High Pass Filter Erosion Dilation Image Processing

More information

Variables and data types

Variables and data types Programming with Python Module 1 Variables and data types Theoretical part Contents 1 Module overview 4 2 Writing computer programs 4 2.1 Computer programs consist of data and instructions......... 4 2.2

More information

UNIT 2 NUMBER SYSTEM AND PROGRAMMING LANGUAGES

UNIT 2 NUMBER SYSTEM AND PROGRAMMING LANGUAGES UNIT 2 NUMBER SYSTEM AND PROGRAMMING LANGUAGES Structure 2.0 Introduction 2.1 Unit Objectives 2.2 Number Systems 2.3 Bits and Bytes 2.4 Binary Number System 2.5 Decimal Number System 2.6 Octal Number System

More information

Data Representation and Networking

Data Representation and Networking Data Representation and Networking Instructor: Dmitri A. Gusev Spring 2007 CSC 120.02: Introduction to Computer Science Lecture 3, January 30, 2007 Data Representation Topics Covered in Lecture 2 (recap+)

More information

Basic data types. Building blocks of computation

Basic data types. Building blocks of computation Basic data types Building blocks of computation Goals By the end of this lesson you will be able to: Understand the commonly used basic data types of C++ including Characters Integers Floating-point values

More information

Introduction. Chapter 1. Hardware. Introduction. Creators of Software. Hardware. Introduction to Computers and Programming (Fall 2015, CSUS)

Introduction. Chapter 1. Hardware. Introduction. Creators of Software. Hardware. Introduction to Computers and Programming (Fall 2015, CSUS) Chapter Introduction Introduction to Computers and Programming (Fall 25, CSUS) Chapter. Introduction Creators of Software Computers perform any job that their programs tell them to do A program is a set

More information

1. Character/String Data, Expressions & Intrinsic Functions. Numeric Representation of Non-numeric Values. (CHARACTER Data Type), Part 1

1. Character/String Data, Expressions & Intrinsic Functions. Numeric Representation of Non-numeric Values. (CHARACTER Data Type), Part 1 Character/String Data, Expressions Intrinsic Functions (CHARACTER Data Type), Part 1 1. Character/String Data, Expressions Intrinsic Functions (CHARACTER Data Type), Part 1 2. Numeric Representation of

More information

Lecture 19 Media Formats

Lecture 19 Media Formats Revision IMS2603 Information Management in Organisations Lecture 19 Media Formats Last week s lectures looked at MARC as a specific instance of complex metadata representation and at Content Management

More information

Introduction to Decision Structures. Boolean & If Statements. Different Types of Decisions. Boolean Logic. Relational Operators

Introduction to Decision Structures. Boolean & If Statements. Different Types of Decisions. Boolean Logic. Relational Operators Boolean & If Statements Introduction to Decision Structures Chapter 4 Fall 2015, CSUS Chapter 4.1 Introduction to Decision Structures Different Types of Decisions A decision structure allows a program

More information

PureScan - ML1. Configuration Guide. Wireless Linear Imager Wireless Laser scanner - 1 -

PureScan - ML1. Configuration Guide. Wireless Linear Imager Wireless Laser scanner - 1 - PureScan - ML1 Wireless Linear Imager Wireless Laser scanner Configuration Guide - 1 - Table of Contents Chapter 1 System Information 1.1 About this manual 3 1.2 How to set up the parameter 3 Chapter 2

More information

LING 388: Computers and Language. Lecture 5

LING 388: Computers and Language. Lecture 5 LING 388: Computers and Language Lecture 5 Administrivia Homework 3 graded Quick Homework 4 out today I'll be away next two weeks (my apologies) Colton Flowers, a HLT student, will take you through Python

More information

NUMBERS AND DATA REPRESENTATION. Introduction to Computer Engineering 2015 Spring by Euiseong Seo

NUMBERS AND DATA REPRESENTATION. Introduction to Computer Engineering 2015 Spring by Euiseong Seo NUMBERS AND DATA REPRESENTATION Introduction to Computer Engineering 2015 Spring by Euiseong Seo Chapter Goals Distinguish among categories of numbers Describe positional notation Convert numbers in other

More information

Homework 1 graded and returned in class today. Solutions posted online. Request regrades by next class period. Question 10 treated as extra credit

Homework 1 graded and returned in class today. Solutions posted online. Request regrades by next class period. Question 10 treated as extra credit Announcements Homework 1 graded and returned in class today. Solutions posted online. Request regrades by next class period. Question 10 treated as extra credit Quiz 2 Monday on Number System Conversions

More information

Digital Fundamentals

Digital Fundamentals Digital Fundamentals Tenth Edition Floyd Chapter 2 2009 Pearson Education, Upper 2008 Pearson Saddle River, Education NJ 07458. All Rights Reserved Quiz 2 Agenda Lecture: Chapter 2 (2-7 through 2-11):

More information

This is great when speed is important and relatively few words are necessary, but Max would be a terrible language for writing a text editor.

This is great when speed is important and relatively few words are necessary, but Max would be a terrible language for writing a text editor. Dealing With ASCII ASCII, of course, is the numeric representation of letters used in most computers. In ASCII, there is a number for each character in a message. Max does not use ACSII very much. In the

More information

Connecting UniOP to Datalogic Barcode Readers

Connecting UniOP to Datalogic Barcode Readers Connecting UniOP to Datalogic Barcode Readers This Technical Note contains the information needed to connect UniOP to Datalogic Barcode Scanners. Contents 1. Introduction...1 2. Designer setup...1 2.1

More information

EXPERIMENT 8: Introduction to Universal Serial Asynchronous Receive Transmit (USART)

EXPERIMENT 8: Introduction to Universal Serial Asynchronous Receive Transmit (USART) EXPERIMENT 8: Introduction to Universal Serial Asynchronous Receive Transmit (USART) Objective: Introduction To understand and apply USART command for sending and receiving data Universal Serial Asynchronous

More information

^BC Code 128 Bar Code (Subsets A, B, and C)

^BC Code 128 Bar Code (Subsets A, B, and C) 93 Code 128 Bar Code (Subsets A, B, and C) Description The command creates the Code 128 bar code, a high-density, variable length, continuous, alphanumeric symbology. It was designed for complexly encoded

More information

Week 1 / Lecture 2 8 March 2017 NWEN 241 C Fundamentals. Alvin Valera. School of Engineering and Computer Science Victoria University of Wellington

Week 1 / Lecture 2 8 March 2017 NWEN 241 C Fundamentals. Alvin Valera. School of Engineering and Computer Science Victoria University of Wellington Week 1 / Lecture 2 8 March 2017 NWEN 241 C Fundamentals Alvin Valera School of Engineering and Computer Science Victoria University of Wellington Admin stuff People Course Coordinator Lecturer Alvin Valera

More information

Problem Max. Points Act. Points Grader

Problem Max. Points Act. Points Grader Networks and Protocols Course: 320301 Jacobs University Bremen Date: 2007-12-12 Dr. Jürgen Schönwälder Duration: 90 minutes Final Examination The Jacobs University s Code of Academic Integrity applies

More information

Hardware. ( Not so hard really )

Hardware. ( Not so hard really ) Hardware ( Not so hard really ) Introduction to Computers What is a computer? Why use a computer anyway? Do they have limitations? What s next? A bit of history Mechanical Early 1614 1643 1673 Abacus Slide

More information

void mouseclicked() { // Called when the mouse is pressed and released // at the same mouse position }

void mouseclicked() { // Called when the mouse is pressed and released // at the same mouse position } Review Commenting your code Random numbers and printing messages mousex, mousey void setup() & void draw() framerate(), loop(), noloop() Arcs, curves, bézier curves, beginshape/endshape Example Sketches

More information

Characters Lesson Outline

Characters Lesson Outline Outline 1. Outline 2. Numeric Encoding of Non-numeric Data #1 3. Numeric Encoding of Non-numeric Data #2 4. Representing Characters 5. How Characters Are Represented #1 6. How Characters Are Represented

More information

MOBILE THERMAL PRINTER

MOBILE THERMAL PRINTER MOBILE THERMAL PRINTER MODEL CMP-30 series ESC Command Manual Rev. 1.00 TABLE OF CONTENTS 1. Command Description... 6 2. Commands... 7 HT... 7 LF... 7 CR... 8 FF... 8 CAN... 8 DLE EOT... 9 DLE ENQ... 12

More information

Elementary Computing CSC 100. M. Cheng, Computer Science

Elementary Computing CSC 100. M. Cheng, Computer Science Elementary Computing CSC 100 1 Graphics & Media Scalable Outline & Bit- mapped Fonts Binary Number Representation & Text Pixels, Colors and Resolution Sound & Digital Audio Film & Digital Video Data Compression

More information

Digital Fundamentals

Digital Fundamentals Digital Fundamentals Tenth Edition Floyd Chapter 2 2009 Pearson Education, Upper 2008 Pearson Saddle River, Education NJ 07458. All Rights Reserved Decimal Numbers The position of each digit in a weighted

More information

Data Representation From 0s and 1s to images CPSC 101

Data Representation From 0s and 1s to images CPSC 101 Data Representation From 0s and 1s to images CPSC 101 Learning Goals After the Data Representation: Images unit, you will be able to: Recognize and translate between binary and decimal numbers Define bit,

More information

IT 1204 Section 2.0. Data Representation and Arithmetic. 2009, University of Colombo School of Computing 1

IT 1204 Section 2.0. Data Representation and Arithmetic. 2009, University of Colombo School of Computing 1 IT 1204 Section 2.0 Data Representation and Arithmetic 2009, University of Colombo School of Computing 1 What is Analog and Digital The interpretation of an analog signal would correspond to a signal whose

More information

EXPERIMENT 7: Introduction to Universal Serial Asynchronous Receive Transmit (USART)

EXPERIMENT 7: Introduction to Universal Serial Asynchronous Receive Transmit (USART) EXPERIMENT 7: Introduction to Universal Serial Asynchronous Receive Transmit (USART) Objective: To understand and apply USART command for sending and receiving data Introduction Universal Serial Asynchronous

More information

Introduction to Computer Science (I1100) Data Storage

Introduction to Computer Science (I1100) Data Storage Data Storage 145 Data types Data comes in different forms Data Numbers Text Audio Images Video 146 Data inside the computer All data types are transformed into a uniform representation when they are stored

More information

Coding Theory. Networks and Embedded Software. Digital Circuits. by Wolfgang Neff

Coding Theory. Networks and Embedded Software. Digital Circuits. by Wolfgang Neff Coding Theory Networks and Embedded Software Digital Circuits by Wolfgang Neff Coding (1) Basic concepts Information Knowledge about something Abstract concept (just in mind, can not be touched) Data Representation

More information

Appendix A Developing a C Program on the UNIX system

Appendix A Developing a C Program on the UNIX system Appendix A Developing a C Program on the UNIX system 1. Key in and save the program using vi - see Appendix B - (or some other editor) - ensure that you give the program file a name ending with.c - to

More information

marson MT8200S 2D Handheld Scanner User Manual V / 6 / 25 - I -

marson MT8200S 2D Handheld Scanner User Manual V / 6 / 25 - I - marson MT8200S 2D Handheld Scanner User Manual V1.1 2018 / 6 / 25 - I - Table of Contents 1 Gettting Started...1 1.1 Introduction...1 1.2 Configuring MT8200S...1 1.2.1 Barcode Configurability...1 1.2.2

More information