Chapter 2 - Data Types. BYU CS/ECEn 124Chapter 2 - Data Types2 Today… Unit 1 slides and homework in JFSB B115 Problems with CCE on Talmage Window’s machines…

Slides:



Advertisements
Similar presentations
Representing Numbers: Integers
Advertisements

HEXADECIMAL NUMBERS Code
COMP3221: Microprocessors and Embedded Systems--Lecture 1 1 COMP3221: Microprocessors and Embedded Systems Lecture 3: Number Systems (I)
ECEN 301Discussion #21 – Boolean Algebra1 DateDayClass No. TitleChaptersHW Due date Lab Due date Exam 12 NovWed21Boolean Algebra13.2 – 13 EXAM 2 13 NovThu.
Chapter 4: The Building Blocks: Binary Numbers, Boolean Logic, and Gates Invitation to Computer Science, C++ Version, Third Edition.
Computer Structures Lecture 2: Working with 0’s and 1’s.
Chapter 2 Bits, Data Types, and Operations. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Wael Qassas/AABU.
Assembly Language and Computer Architecture Using C++ and Java
Introduction to Programming with Java, for Beginners
CS 61C L02 Number Representation (1) Garcia, Spring 2004 © UCB Lecturer PSOE Dan Garcia inst.eecs.berkeley.edu/~cs61c CS61C.
Assembly Language and Computer Architecture Using C++ and Java
S. Barua – CPSC 240 CHAPTER 2 BITS, DATA TYPES, & OPERATIONS Topics to be covered are Number systems.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Number Systems Lecture 02.
Codes and number systems Introduction to Computer Yung-Yu Chuang with slides by Nisan & Schocken ( ) and Harris & Harris (DDCA)
Chapter 2 Bits, Data Types, and Operations. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 2-2 How do we.
School of Computer Science G51CSA 1 Computer Arithmetic.
Binary Representation and Computer Arithmetic
Dr. Bernard Chen Ph.D. University of Central Arkansas
Chapter 5 Data representation.
Data Representation Number Systems.
CENG 311 Machine Representation/Numbers
Numbering systems.
Computer Arithmetic Nizamettin AYDIN
1 Digital Technology and Computer Fundamentals Chapter 1 Data Representation and Numbering Systems.
IT253: Computer Organization
Computing Systems Basic arithmetic for computers.
Dale & Lewis Chapter 3 Data Representation. Data and computers Everything inside a computer is stored as patterns of 0s and 1s Numbers, text, audio, video,
Data Representation and Computer Arithmetic
1 Digital Systems and Binary Numbers EE 208 – Logic Design Chapter 1 Sohaib Majzoub.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Idea 1: Bits Two states in a digital machine: 1.presence of.
ECEN2102 Digital Logic Design Lecture 1 Numbers Systems Abdullah Said Alkalbani University of Buraimi.
Bits, Data Types, and Operations. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 2-2 How do we represent.
Number Systems Spring Semester 2013Programming and Data Structure1.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Information Representation. Digital Hardware Systems Digital Systems Digital vs. Analog Waveforms Analog: values vary over a broad range continuously.
PART 2 Data Types 1. Integers 2. 2’s Complement 3. Conversion
Lecture 5. Topics Sec 1.4 Representing Information as Bit Patterns Representing Text Representing Text Representing Numeric Values Representing Numeric.
ECEN 301Discussion #19 – Binary Numbers1 Numbered Moses 1:33,35,37 33 And worlds without number have I created; and I also created them for mine own purpose;
Chapter 2 Bits, Data Types, and Operations. 2-2 Hexadecimal Notation It is often convenient to write binary (base-2) numbers as hexadecimal (base-16)
Bits, Data Types, and Operations Slides based on set prepared by Gregory T. Byrd, North Carolina State University.
Cosc 2150: Computer Organization Chapter 2 Part 1 Integers addition and subtraction.
Chapter 2 Bits, Data Types, and Operations. 2-2 How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works.
Computer Math CPS120: Lecture 3. Binary computers have storage units called binary digits or bits: Low Voltage = 0 High Voltage = 1 all bits have 0 or.
Number Systems and Digital Codes
Data Representation in Computer Systems. 2 Signed Integer Representation The conversions we have so far presented have involved only positive numbers.
Kavita Bala CS 3410, Spring 2014 Computer Science Cornell University.
1 2.1 Introduction A bit is the most basic unit of information in a computer. –It is a state of “on” or “off” in a digital circuit. –Sometimes these states.
Instructor:Po-Yu Kuo 教師:郭柏佑
Digital Fundamentals Tenth Edition Floyd Chapter 2 © 2008 Pearson Education.
CS1Q Computer Systems Lecture 2 Simon Gay. Lecture 2CS1Q Computer Systems - Simon Gay2 Binary Numbers We’ll look at some details of the representation.
Data Representation. How is data stored on a computer? Registers, main memory, etc. consists of grids of transistors Transistors are in one of two states,
Lecture No. 4 Computer Logic Design. Negative Number Representation 3 Options –Sign-magnitude –One’s Complement –Two’s Complement  used in computers.
Data Representation. Representation of data in a computer Two conditions: 1. Presence of a voltage – “1” 2. Absence of a voltage – “0”
Number Systems. The position of each digit in a weighted number system is assigned a weight based on the base or radix of the system. The radix of decimal.
1 CE 454 Computer Architecture Lecture 4 Ahmed Ezzat The Digital Logic, Ch-3.1.
Binary & Hex Review.
Bits, Data Types, and Operations
Chapter 2 Bits, Data Types, and Operations
Programming and Data Structure
Number Representation
School of Computer Science and Technology
Introduction to Computer Engineering
Binary & Hex Review.
Chapter 2 Bits, Data Types, and Operations
Presentation transcript:

Chapter 2 - Data Types

BYU CS/ECEn 124Chapter 2 - Data Types2 Today… Unit 1 slides and homework in JFSB B115 Problems with CCE on Talmage Window’s machines… Drivers have to be installed with administrator privileges Ready shortly… Help Sessions begin pm Reading Assignments on-line under the Schedule Tab Concerns or problems??

BYU CS/ECEn 124Chapter 2 - Data Types3 Concepts to Learn… Binary Digital System Data Types Conversions Binary Arithmetic Overflow Logical Operations Floating Point Hexadecimal Numbers ASCII Characters

BYU CS/ECEn 124Chapter 2 - Data Types4 What are Decimal Numbers? “Decimal” means that we have ten digits to use in our representation the symbols 0 through 9 What is 3,546? 3 thousands + 5 hundreds + 4 tens + 6 ones. 3, = 3     10 0 How about negative numbers? Use two more symbols to distinguish positive and negative, namely, + and -. Digital Binary System

BYU CS/ECEn 124Chapter 2 - Data Types5 What are Binary Numbers? “Binary” means that we have two digits to use in our representation the symbols 0 and 1 What is 1011? 1 eights + 0 fours + 1 twos + 1 ones = 1     2 0 How about negative numbers? We don’t want to add additional symbols So… Digital Binary System

BYU CS/ECEn 124Chapter 2 - Data Types6 Binary Digital System Binary (base 2) because there are two states, 0 and 1. Digital because there are a finite number of symbols. Basic unit of information is the binary digit, or bit. Bit values are represented by various physical means. Voltages Residual magnetism Light Electromagnetic Radiation Polarization Values with more than two states require multiple bits. A collection of 2 bits has 4 possible states: 00, 01, 10, 11 A collection of 3 bits has 8 possible states: 000, 001, 010, 011, 100, 101, 110, 111 A collection of n bits has 2 n possible states. Digital Binary System

BYU CS/ECEn 124Chapter 2 - Data Types7 Electronic Representation of a Bit Relies only on approximate physical values. A logical ‘1’ is a relatively high voltage (2.4V - 5V). A logical ‘0’ is a relatively low voltage (0V - 1V). Analog processing relies on exact values which are affected by temperature, age, etc. Analog values are never quite the same. Each time you play a vinyl album, it will sound a bit different. CDs sound the same no matter how many times you play them. Digital Binary System

BYU CS/ECEn 124Chapter 2 - Data Types8 The Power of the Bit… Bits rely on approximate physical values that are not affected by age, temperature, etc. Music that never degrades. Pictures that never get dusty or scratched. By using groups of bits, we can achieve high precision. 8 bits => each bit pattern represents 1/ bits => each bit pattern represents 1/65, bits => each bit pattern represents 1/4,294,967, bits => each bit pattern represents 1/18,446,744,073,709,550,000 Disadvantage: bits only represent discrete values Digital = Discrete Digital Binary System

BYU CS/ECEn 124Chapter 2 - Data Types9 Binary Nomenclature Binary Digit: 0 or 1 Bit (short for binary digit): A single binary digit LSB (least significant bit): The rightmost bit MSB (most significant bit): The leftmost bit Data sizes 1 Nibble (or nybble) = 4 bits 1 Byte = 2 nibbles = 8 bits 1 Kilobyte (KB) = 1024 bytes 1 Megabyte (MB) = 1024 kilobytes = 1,048,576 bytes 1 Gigabyte (GB) = 1024 megabytes = 1,073,741,824 bytes Digital Binary System

BYU CS/ECEn 124Chapter 2 - Data Types10 What Kinds of Data? All kinds… Numbers – signed, unsigned, integers, floating point, complex, rational, irrational, … Text – characters, strings, … Images – pixels, colors, shapes, … Sound – pitch, amplitude, … Logical – true / false, open / closed, on / off, … Instructions – programs, … … Data type: representation and operations within the computer We’ll start with numbers… Data Types

BYU CS/ECEn 124Chapter 2 - Data Types11 Some Important Data Types Unsigned integers only non-negative numbers 0, 1, 2, 3, 4, … Signed integers negative, zero, positive numbers …, -3, -2, -1, 0, 1, 2, 3, … Floating point numbers numbers with decimal point PI = x 10 0 Characters 8-bit, unsigned integers ‘0’, ‘1’, ‘2’, …, ‘a’, ‘b’, ‘c’, …, ‘A’, ‘B’, ‘C’, …, ‘#’, Data Types

BYU CS/ECEn 124Chapter 2 - Data Types12 Unsigned Integers x x10 + 9x1 = 3291x4 + 0x2 + 1x1 = 5 most significant least significant What do these unsigned binary numbers represent? Weighted positional notation “3” is worth 300, because of its position, while “9” is only worth 9 Data Types

BYU CS/ECEn 124Chapter 2 - Data Types13 Unsigned Integers (continued…) Data Types

BYU CS/ECEn 124Chapter 2 - Data Types14 Unsigned Binary Arithmetic Base 2 addition – just like base 10! add from right to left, propagating carry carry Subtraction, multiplication, division,… Data Types

BYU CS/ECEn 124Chapter 2 - Data Types15 Signed Integers With n bits, we have 2 n distinct values. assign about half to positive integers (1 through 2 n-1 ) and about half to negative (- 2 n-1 through -1) that leaves two values: one for 0, and one extra Positive integers just like unsigned – zero in most significant (MS) bit = 5 Negative integers sign-magnitude – set MS bit to show negative = -5 one’s complement – flip every bit to represent negative = -5 MS bit indicates sign: 0=positive, 1=negative Data Types

BYU CS/ECEn 124Chapter 2 - Data Types16 Sign-Magnitude Integers Representations binary => 15 decimal 11111=> => => -0 Problems Difficult addition/subtraction check signs convert to positive use adder or subtractor as required The left-bit encodes the sign: 0 = + 1 =  Data Types

BYU CS/ECEn 124Chapter 2 - Data Types17 1’s Complement Integers Representations binary => 6 decimal 11001=> => => -0 Problem Difficult addition/subtraction no need to check signs as before cumbersome logic circuits end-around-carry To negate a number, Invert it, bit-by-bit. The left-bit still encodes the sign: 0 = + 1 =  Data Types

BYU CS/ECEn 124Chapter 2 - Data Types18 2’s Complement Problems with sign-magnitude and 1’s complement two representations of zero (+0 and –0) arithmetic circuits are complex How to add two sign-magnitude numbers? e.g., try 2 + (-3) How to add to one’s complement numbers? e.g., try 4 + (-3) Two’s complement representation developed to make circuits easy for arithmetic. Data Types

BYU CS/ECEn 124Chapter 2 - Data Types19 2’s Complement (continued…) Simplifies logic circuit construction because addition and subtraction are always done using the same circuitry. there is no need to check signs and convert. operations are done same way as in decimal right to left with carries and borrows Bottom line: simpler hardware units! Data Types

BYU CS/ECEn 124Chapter 2 - Data Types20 2’s Complement (continued…) If number is positive or zero, normal binary representation If number is negative, start with positive number flip every bit (i.e., take the one’s complement) then add one (5) (9) (1’s comp)(1’s comp) (-5)(-9) Data Types

BYU CS/ECEn 124Chapter 2 - Data Types21 2’s Complement (continued…) Positional number representation with a twist the most significant (left-most) digit has a negative weight n-bits represent numbers in the range  2 n  1 … 2 n  1  1 What are these? 0110 = = = = Data Types

BYU CS/ECEn 124Chapter 2 - Data Types22 2’s Complement Shortcut To take the two’s complement of a number: copy bits from right to left until (and including) the first “1” flip remaining bits to the left (1’s comp) (copy)(flip) Data Types

BYU CS/ECEn 124Chapter 2 - Data Types23 2’s Complement Negation To negate a number, invert all the bits and add (??) Data Types

BYU CS/ECEn 124Chapter 2 - Data Types24 Quiz (unsigned int) (signed magnitude) (1’s complement) (2’s complement) (2’s complement) (decimal)

BYU CS/ECEn 124Chapter 2 - Data Types25 Quiz (unsigned int) (signed magnitude) (unsigned int) (1’s complement) (signed int) (2’s complement) (2’s complement) (2’s complement) Decimal (2’s complement) (1’s complement) (signed magnitude)

BYU CS/ECEn 124Chapter 2 - Data Types26 Continually divide the number by 2 and track the remainders. 1       = Decimal to Binary Conversion For negative numbers, do above for positive number and negate result 5 R R R R R R 1 1 Conversions

BYU CS/ECEn 124Chapter 2 - Data Types27 Decimal to Binary Conversion Conversions

BYU CS/ECEn 124Chapter 2 - Data Types28 Sign-Extension in 2’s Complement You can make a number wider by simply replicating its leftmost bit as desired = = 1111 = = 1 = 6 6 What do these represent? Conversions

BYU CS/ECEn 124Chapter 2 - Data Types29 Word Sizes In the preceding slides, every bit pattern was a different length (15 was represented as 01111). Every real computer has a base word size our machine (MPS430) is 16-bits Memory fetches are word-by-word even if you only want 8 bits (a byte) Instructions are packed into words Numeric representations are word-sized 15 is represented as Conversions

BYU CS/ECEn 124Chapter 2 - Data Types30 Rules of Binary Addition = = = = 0, with carry Two's complement addition follows the same rules as binary addition Two's complement subtraction is the binary addition of the minuend to the 2's complement of the subtrahend adding a negative number is the same as subtracting a positive one Binary Arithmetic 5 + (-3) = = = = +2

BYU CS/ECEn 124Chapter 2 - Data Types31 Adding 2’s Complement Integers c b Issues Overflow: the result cannot be represented by the number of bits available Hmmm  -5. Obviously something went wrong. This is a case of overflow. You can tell there is a problem - a positive plus a positive cannot give a negative. Binary Arithmetic

BYU CS/ECEn 124Chapter 2 - Data Types32 Overflow Revisited Overflow = the result doesn’t fit in the capacity of the representation ALU’s are designed to detect overflow It’s really quite simple if the carry in to the most significant position (MSB) is different from the carry out from the most significant position (MSB), then overflow occurred. Generally, overflows represented in CPU status bit Overflow

BYU CS/ECEn 124Chapter 2 - Data Types33 Logical Operations on Bits A B AND A B OR A NOT a = b = a AND b = ? a OR b = ? NOT a = ? A XOR b = ? a AND b = a = b = a OR b = NOT a = A B XOR A XOR b = Logical Operations

BYU CS/ECEn 124Chapter 2 - Data Types34 Examples of Logical Operations AND useful for clearing bits AND with zero = 0 AND with one = no change OR useful for setting bits OR with zero = no change OR with one = 1 NOT unary operation -- one argument flips every bit AND OR NOT Logical Operations

BYU CS/ECEn 124Chapter 2 - Data Types35 Floating Point Numbers Binary scientific notation 32-bit floating point Exponent is biased Implied leading 1 in mantissa sexponentmantissa 1823 Floating Point

BYU CS/ECEn 124Chapter 2 - Data Types36 Floating Point Numbers Why the leading implied 1? Always normalize after an operation shift mantissa until leading digit is a 1 can assume it is always there, so don’t store it Why the biased exponent? To avoid signed exponent representations sexponentmantissa 1823 Floating Point

BYU CS/ECEn 124Chapter 2 - Data Types37 Floating Point Numbers What does this represent? Positive number Exponent is 128 which means the real exponent is 1 Mantissa is to be interpreted as 1.1 This is = 1 + 1/2 = 1.5 The final number is 1.5 x 2 1 = Floating Point

BYU CS/ECEn 124Chapter 2 - Data Types38 Floating Point Numbers What does this represent? Negative number Exponent is 129 which means the real exponent is 2 Mantissa is to be interpreted as This is = 1 + 1/2 + 1/8 + 1/32 = The final number is x 2 2 = Floating Point

BYU CS/ECEn 124Chapter 2 - Data Types39 Hexadecimal Notation Binary is hard to read and write by hand Hexadecimal is a common alternative 16 digits are ABCDEF = 0x478F = 0xDEAD = 0xBEEF = 0xA5A5 Binary Hex A 1011 B 1100 C 1101 D 1110 E 1111 F 0x is a common prefix for writing numbers which means hexadecimal 1.Separate binary code into groups of 4 bits (starting from the right) 2.Translate each group into a single hex digit Hexadecimal

BYU CS/ECEn 124Chapter 2 - Data Types40 Binary to Hex Conversion Every four bits is a hex digit. start grouping from right-hand side D4F8A3 This is not a new machine representation, just a convenient way to write the number. Hexadecimal

BYU CS/ECEn 124Chapter 2 - Data Types41 Decimal to Hex Conversion Positive numbers Œ start with empty result  next digit to prepend is number modulo 16 Ž divide number by 16, throw away fractional part  if new number is non-zero, go back to  else you are done Negative numbers do above for positive version of number and negate result. Hexadecimal

BYU CS/ECEn 124Chapter 2 - Data Types42 Decimal to Hex Examples 12 decimal = 1100 = 0xc 21 decimal = = 0x15 55 decimal = = 0x decimal = = 0x decimal = = 0x2f 3 decimal = 0011 = 0x3 127 decimal = = 0x7f 1029 decimal = = 0x405 Hexadecimal

BYU CS/ECEn 124Chapter 2 - Data Types43 ASCII Codes How do you represent characters? ‘A’ ASCII is a set of standard 8-bit, unsigned integers (codes) ' ' = 32, '0' = 48, '1' = 49, 'A' = 65, 'B' = 66 Zero-extended to word size To convert an integer digit to ASCII character, add 48 (=‘0’) = 49 => ‘1’ ASCII Characters

BYU CS/ECEn 124Chapter 2 - Data Types44 ASCII Characters SOHDC1!1AQaq STXDC2“2BRbr ETXDC3#3CScs EOTDC4$4DTdt ENQNAK%5EUeu ACKSYN&6FVfv BELETB‘7GWgw BSCAN(8HXhx HTEM)9IYiy LFSUB*:JZjz VTESC+;K[k{ FFFS,<L\l| CRGS-=M]m} SORS.>N^n~ SIUS/?O_oDEL abcdef abcdef a-f More controls More symbols ASCII Characters

BYU CS/ECEn 124Chapter 2 - Data Types45 Properties of ASCII Code What is relationship between a decimal digit ('0', '1', …) and its ASCII code? What is the difference between an upper-case letter ('A', 'B', …) and its lower-case equivalent ('a', 'b', …)? Given two ASCII characters, how do we tell which comes first in alphabetical order? What is significant about the first 32 ASCII codes? Are 128 characters enough? ( ASCII Characters

BYU CS/ECEn 124Chapter 2 - Data Types46 Displaying Characters 48 Decimal 58 Decimal 116 Decimal 53 Decimal ASCII Characters

BYU CS/ECEn 124Chapter 2 - Data Types47 MSP430 Data Types Words and bytes are supported directly by the Instruction Set Architecture. add.b add.w 8-bit and 16-bit 2’s complement signed integers Other data types are supported by interpreting variable length values as logical, text, fixed-point, etc., in the software that we write. Data Types

BYU CS/ECEn 124Chapter 2 - Data Types48 Review: Representation Everything is stored in memory as one’s and zero’s integers, floating point numbers, characters program code Data Type = Representation + Operations You can’t tell what is what just by looking at the binary representation memory could have multiple meanings it is possible to execute your Word document Review

BYU CS/ECEn 124Chapter 2 - Data Types49 Review: Numbers… , , Un-signed Signed Magnitude 1’s Complement 2’s Complement Range:0 to 7-3 to 3 -4 to 3 Review

BYU CS/ECEn 124Chapter 2 - Data Types50

BYU CS/ECEn 124Chapter 2 - Data Types51 ASCII Characters