School of Informatics, University of Edinburgh


 Marion Holt
 11 months ago
 Views:
Transcription
1 CS1Ah Lecture Note 5 Java Expressions Many Java statements can contain expressions, which are program phrases that tell how to compute a data value. Expressions can involve arithmetic calculation and method invocation. For example: 1 + (3 * )/7 sum / Math.sqrt(2.1 * 4.3) Expressions are built from variable, method and field names like sum and Math.sqrt, and constants like 3 and 1.2. They are built using operators like + and *, and method calls like Math.sqrt(...) 1. Commonly expressions are used on the righthand side of a variable assignment statement or an object field assignment statement. For example, when the statement obj.x = y + 1; is executed, the expression y + 1 is first evaluated to produce a number value that is one more than the value stored in variable y, and then this value is stored in the field x of the object obj. 5.1 Literals A literal, or constant, is the simplest kind of expression. Integer Literals Examples are: These integer literals are all of type int (32 bits). For long integers (64 bits), follow the number with a letter l or L. Integer literals can also be expressed in base 8 (octal) and base 16 (hexadecimal). Octal literals always start with a 0 (number zero). For example, the octal literal 0377 is = 255 in decimal. Hexadecimal literals start with 0x and use the letters 1 Math.sqrt is a method which computes the square root of its argument. 1
2 A F, or a f to represent digits with values 10 through 15 respectively. For example, the hexadecimal literal 0xA9 is = 169 in decimal. Octal and hexadecimal literals are useful when we are concerned with how numbers are represented in binary, the conventional representation used inside computers. An octal digit is represented using 3 bits and a hexadecimal digit using 4 bits. FloatingPoint Number Literals Examples are: E5 1e6 The last two floatingpoint numbers are in scientific format. For example: 1.234E5 is and 1e6 is All the above floatingpoint numbers are of type double (double precision). For floating point numbers of type float (single precision), follow the number by a letter f or F. For example, 6.02e23f. String Literals Examples are: "" "abc" "\"cd" The character sequence \" is the way to include a double quote in the middle of a string. All string literals have type String. Boolean Literals The two boolean literals are: true false 5.2 Names Names are built from one or more identifiers separated by fullstop (.) characters. For example x Math.sqrt Identifiers name various entities in Java programs. Class, method, parameter and variable names are all identifiers. Identifiers usually start with a letter and contain only letters, digits and the underscore (_) symbol. They cannot contain any punctuation characters. 2
3 5.3 Arithmetic Operators Common arithmetic operators in Java are: Symbol Example Name   a unary minus * a * b multiplication / a / b division % a % b remainder (mod) + a + b addition  a  b subtraction All these operators work on both integers and floating point numbers. The use of the  symbol for both the unary minus and subtraction operators doesn t cause confusion in practice. The meaning is always apparent from the immediate context in which it is used. 5.4 Fixedness of Operators Operators are sometimes classified by the position of the operator symbol relative to its arguments. A prefix operator is a unary (one argument) operator positioned before its argument. Unary minus is a prefix operator. An infix operator is a binary (two argument) operator positioned between its arguments. All the above binary operators are infix operators. A postfix operator is a unary (one argument) operator positioned after its argument. The post increment and post decrement operators discussed later are both postfix operators. 5.5 Precedence and Associativity The meaning of an expression built from prefix, infix and postfix operators can often seem ambiguous. Does: mean or a * b + c (a * b) + c a * (b + c)? 3
4 In Java, every expression has a unique meaning which can be determined by considering the precedence and associativity of each of the operators making up the expression. The precedence of an operator specifies how tightly it binds its argument(s). In each section of the above table of arithmetic operators, the operators have equal precedence, and the sections are ordered from higher to lower precedence. Because multiplication has higher precedence than addition, the meaning of a * b + c is: (a * b) + c. Precedence alone is not sufficient to resolve all ambiguities. A conflict occurs when two binary operators with equal precedence compete for the same argument. In the expression: a / b * c the operators / and * are both competing for the expression b. To resolve the conflict, we require that, for each collection of binary operators with equal precedence, either the operator on the left always wins or the operator on the right always wins. If the operator on the left always wins, we say that each binary operator is left associative. If the operator on the right always wins, each binary operator is right associative. All the binary arithmetic operators are left associative. For example, a / b * c should be read as: and read as: (a / b) * c a + b + c (a + b) + c. In Java, most operators are left associative. When programming, it is important that the addition operator have a specified associativity, even though in mathematics we always have that (x + y) + z = x + (y + z). The reason is that the evaluation of the expressions (a + b) + c and a + (b + c) in a program might produce different results because of rounding errors in floating point arithmetic or overflow in integer arithmetic. When operators are assigned precedences in the design of a programming language, all operators with the same precedence have the same fixedness. This avoids having to consider the case of say an infix operator competing with a prefix operator for an argument, or a prefix operator competing with a postfix operator. 4
5 5.6 Parenthesisation When building a larger expression from smaller expressions, it is legitimate to surround any of the smaller expressions with parentheses. This is useful when their absence would result in the Java compiler taking a different reading of the expression. For example, consider the expression (a + b) * c. Once expressions have 4 or more levels of parentheses, they can be become difficult to read. The precedences of operators in Java have been chosen to agree when they can with common mathematical practice, and to reduce the amount of parenthesization needed in common expressions. However, it is also difficult to memorise all the precedence and associativity information of operators. The careful use of parentheses, even when they are not strictly necessary. can improve the readability of expressions. 5.7 Syntax Trees The structure of an expression can most easily be seen if a syntax tree is constructed for it. For example, the syntax tree for the expression is  a * (b + c) * d * / \ * d / \  + / \ a b c With a syntax tree, we can immediately understand the reading of an expression without having to consider precedences and associativities, and to figure out how parentheses match up. A syntax tree shows us how an expression is evaluated. Learning to draw syntax trees is a useful skill. In fact, one of the first tasks any Java compiler does when compiling a Java program is construct a syntax tree for the whole program. 5.8 Argument and Result Types of Operators Some operators accept just one type of each argument and have one result type. However most of the arithmetic operators correspond to different arithmetic operations, depending on the argument types. For example, if both arguments to + have type int, then the int addition operation is selected which computes an int value result. If both have type float, a float addition operation is chosen which computes a float result. This use of one operator for multiple operations is called overloading. 5
6 5.9 Conversions It is legitimate for each argument of a binary arithmetic operator to have a distinct numeric type. We can have the expression 2.2f + 3 adding a float and an int. What does Java do here? The answer is that it will first convert the int argument to a float and then use the float addition operator. In general Java can automatically change or convert a number from one number type to another when the conversion is possible with little or no loss in accuracy. Consider the list of number types: byte short int long float double Any number of some type in this list can be automatically converted to some type further down the list. The only potential loss in accuracy is when going from one of the integer types to one of the floating point types. Such conversions are sometimes called widening conversions because types further down the list are considered wider; they permit a larger range of values. Narrowing conversions to some type higher in the above list are never automatically supplied, but can be achieved by using casts, the topic of the next section. In general, if an arithmetic operator in Java is presented with arguments of different numeric types, the argument of narrower type is first converted to the type of the widertyped argument. The operation then selected is the one appropriate for the wider type. However Java has no arithmetic operation for adding bytes or shorts. If both arguments are bytes or shorts, Java will convert them both to ints, use an int operation, and return an int result Casts Not infrequently, situations arise when is useful to change the type of an expression when superficially there appears a possibility of the change going radically wrong, but for some reason it is known this will never happen. For example, we might have an int that we want to convert to a short and we know that the int is always between 0 and 100, so the change ought to be always possible. In these cases we can use a cast. The general form of a cast is (type) expression For example, (short) 50 6
7 Remember that integer literals are always ints unless they end in a letter l or L. A common cast is from a float to an int. In this case, Java rounds the float to the nearest integer towards zero. The cast expression (int) 3.2f evaluates to the integer Overflow and Underflow Overflow results when the mathematical result value of an arithmetic operation is too large to fit into the format of the return type. For example, the largest int has value The addition operation in the expression would overflow when evaluated. When overflow occurs in an integer operation, Java doesn t signal the fact in any way, and instead returns a value determined by the way binary arithmetic is implemented. For example, evaluates to , the largest negative int. The programmer is responsible for ensuring that overflow never occurs, or somehow explicitly detecting that it is about to occur. Each format for floating point numbers also has a maximum and minimum bound, and so floating point operations can also overflow. However, overflow of floating point operations results in special floating point values +infinity or infinity. These usually propagate through further arithmetic operations and so floating point overflow is easier to detect. Floating point operations can also underflow, have a mathematical result value too small to be represented using the result type. In this case Java returns a floating point zero. Underflow is gradual in Java. If possible, a denormalised number (mantissa less than one, exponent set to the minimum exponent) is returned rather than zero Increment and Decrement Operators These unary operators are as follows: Symbol Example Name ++ x ++ post increment  x  post decrement x pre increment x pre decrement The post operators have higher precedence than the pre operators, and both have higher precedence than unary minus. The argument of these operators must be an expression that could occur on the lefthand side of an assignment, for example, a local variable of a method, or a field of an object. These are sometimes called assignable expressions. And the argument must be of some integer or floating point type. Both increment operators increase by one the value of the variable or object field they are applied to. The decrement operators decrease the values by one. The return 7
8 value of each of the pre operators is the value of the argument after incrementing or decrementing. The return value of each of the post operators is the value of the argument before incrementing or decrementing. These operators are different from the arithmetic operators considered previously in that they do more than simply calculate a return value from their arguments. This extra amount is often known as a side effect. Operators with side effects can be very useful, but they must be used with care, and can easily be confusing. For example, assume i is a variable of type int and consider the boolean valued expression ++i == ++i At first sight, this expression might seem obviously to have value true. However, Java evaluates operators in an expression one at a time moving left to right through the expression. If i started as 1, the left ++i would have return value 2 and the right one 3. In general the value of == would always be false Other Java Operators Operators not covered in this lecture include: Boolean operators. For example, & (and), (or). Various bit manipulation operators for integer values. Assignment (=). This often comes as a suprise. It is possible in Java to embed assignments within other expressions: for example: x = (y = z + 1) Is a valid expression in Java. However, this usage is seldom advised. Method invocation: methodname(methodargs) + for concatenating (joining) strings. Certain expressions are allowable as statements. These include most importantly assignment expressions, but also any includes increment and decrement expressions (expressions in which an increment or decrement operator is outermost). Generally, it is only sensible to have expressions with side effects as statements, since nothing is done with the expression s return value when it is used as a statement Further Reading A summary of all Java s operators can be found in Appendix C of Deitel and Deitel s Java: How to Program (4th Ed) and the early part of Flanagan s Java in a Nutshell. Any decent Java book should have a similar summary. Note by Paul Jackson. David Aspinall, 2002/10/21 16:01:28. 8
Primitive Data Types Summer 2010 Margaret ReidMiller
Primitive Data Types 15110 Summer 2010 Margaret ReidMiller Data Types Data stored in memory is a string of bits (0 or 1). What does 1000010 mean? 66? 'B'? 9.2E44? How the computer interprets the string
More informationBorland C++ Compiler: Operators
Introduction Borland C++ Compiler: Operators An operator is a symbol that specifies which operation to perform in a statement or expression. An operand is one of the inputs of an operator. For example,
More informationChapter 2: Elements of Java
Chapter 2: Elements of Java Basic components of a Java program Primitive data types Arithmetic expressions Type casting. The String type (introduction) Basic I/O statements Importing packages. 1 Introduction
More informationName: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1  Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
More informationThe string of digits 101101 in the binary number system represents the quantity
Data Representation Section 3.1 Data Types Registers contain either data or control information Control information is a bit or group of bits used to specify the sequence of command signals needed for
More informationNumbering Systems. InThisAppendix...
G InThisAppendix... Introduction Binary Numbering System Hexadecimal Numbering System Octal Numbering System Binary Coded Decimal (BCD) Numbering System Real (Floating Point) Numbering System BCD/Binary/Decimal/Hex/Octal
More informationSystems I: Computer Organization and Architecture
Systems I: Computer Organization and Architecture Lecture 2: Number Systems and Arithmetic Number Systems  Base The number system that we use is base : 734 = + 7 + 3 + 4 = x + 7x + 3x + 4x = x 3 + 7x
More information4 Operations On Data
4 Operations On Data 4.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, students should be able to: List the three categories of operations performed on
More informationBachelors of Computer Application Programming Principle & Algorithm (BCAS102T)
Unit I Introduction to c Language: C is a generalpurpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
More informationPemrograman Dasar. Basic Elements Of Java
Pemrograman Dasar Basic Elements Of Java Compiling and Running a Java Application 2 Portable Java Application 3 Java Platform Platform: hardware or software environment in which a program runs. Oracle
More informationChapter 4 Operators & Arithmetic
Chapter 4 Operators & Arithmetic 41 Arithmetic in C++ Arithmetic expressions can be made up of constants, variables, operators and parentheses. The arithmetic operators in C++ are as follows + (addition)
More informationSimple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. DevC++ DevC++ Windows Friendly Exit. The C++ Programming Language
Simple C++ Programs Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs Program Structure Constants and Variables C++ Operators Standard Input and Output Basic Functions from
More informationCSI 333 Lecture 1 Number Systems
CSI 333 Lecture 1 Number Systems 1 1 / 23 Basics of Number Systems Ref: Appendix C of Deitel & Deitel. Weighted Positional Notation: 192 = 2 10 0 + 9 10 1 + 1 10 2 General: Digit sequence : d n 1 d n 2...
More information198:211 Computer Architecture
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 1 Computer Architecture What do computers do? Manipulate stored
More informationAdjusted/Modified by Nicole Tobias. Chapter 2: Basic Elements of C++
Adjusted/Modified by Nicole Tobias Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types
More informationDecimal Numbers: Base 10 Integer Numbers & Arithmetic
Decimal Numbers: Base 10 Integer Numbers & Arithmetic Digits: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Example: 3271 = (3x10 3 ) + (2x10 2 ) + (7x10 1 )+(1x10 0 ) Ward 1 Ward 2 Numbers: positional notation Number
More informationObject Oriented Software Design
Object Oriented Software Design Introduction to Java  II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 14, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction
More informationNumber Systems I. CIS0082 Logic and Foundations of Mathematics. David Goodwin. 11:00, Tuesday 18 th October
Number Systems I CIS0082 Logic and Foundations of Mathematics David Goodwin david.goodwin@perisic.com 11:00, Tuesday 18 th October 2011 Outline 1 Number systems Numbers Natural numbers Integers Rational
More informationObject Oriented Software Design
Object Oriented Software Design Introduction to Java  II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 28, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction
More informationEmbedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 21 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
More informationBase Conversion written by Cathy Saxton
Base Conversion written by Cathy Saxton 1. Base 10 In base 10, the digits, from right to left, specify the 1 s, 10 s, 100 s, 1000 s, etc. These are powers of 10 (10 x ): 10 0 = 1, 10 1 = 10, 10 2 = 100,
More informationCHAPTER 3 Numbers and Numeral Systems
CHAPTER 3 Numbers and Numeral Systems Numbers play an important role in almost all areas of mathematics, not least in calculus. Virtually all calculus books contain a thorough description of the natural,
More informationWe will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.
LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.
More informationComputer Science 281 Binary and Hexadecimal Review
Computer Science 281 Binary and Hexadecimal Review 1 The Binary Number System Computers store everything, both instructions and data, by using many, many transistors, each of which can be in one of two
More informationTI83 Plus Graphing Calculator Keystroke Guide
TI83 Plus Graphing Calculator Keystroke Guide In your textbook you will notice that on some pages a keyshaped icon appears next to a brief description of a feature on your graphing calculator. In this
More informationOct: 50 8 = 6 (r = 2) 6 8 = 0 (r = 6) Writing the remainders in reverse order we get: (50) 10 = (62) 8
ECE Department Summer LECTURE #5: Number Systems EEL : Digital Logic and Computer Systems Based on lecture notes by Dr. Eric M. Schwartz Decimal Number System: Our standard number system is base, also
More informationBinary Number System. 16. Binary Numbers. Base 10 digits: 0 1 2 3 4 5 6 7 8 9. Base 2 digits: 0 1
Binary Number System 1 Base 10 digits: 0 1 2 3 4 5 6 7 8 9 Base 2 digits: 0 1 Recall that in base 10, the digits of a number are just coefficients of powers of the base (10): 417 = 4 * 10 2 + 1 * 10 1
More information2010/9/19. Binary number system. Binary numbers. Outline. Binary to decimal
2/9/9 Binary number system Computer (electronic) systems prefer binary numbers Binary number: represent a number in base2 Binary numbers 2 3 + 7 + 5 Some terminology Bit: a binary digit ( or ) Hexadecimal
More informationDigital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Digital System Design Prof. D Roychoudhry Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture  04 Digital Logic II May, I before starting the today s lecture
More informationLSN 2 Number Systems. ECT 224 Digital Computer Fundamentals. Department of Engineering Technology
LSN 2 Number Systems Department of Engineering Technology LSN 2 Decimal Number System Decimal number system has 10 digits (09) Base 10 weighting system... 10 5 10 4 10 3 10 2 10 1 10 0. 101 102 103
More informationNumerical Matrix Analysis
Numerical Matrix Analysis Lecture Notes #10 Conditioning and / Peter Blomgren, blomgren.peter@gmail.com Department of Mathematics and Statistics Dynamical Systems Group Computational Sciences Research
More informationIntroduction to Python
Caltech/LEAD Summer 2012 Computer Science Lecture 2: July 10, 2012 Introduction to Python The Python shell Outline Python as a calculator Arithmetic expressions Operator precedence Variables and assignment
More informationThis Unit: Floating Point Arithmetic. CIS 371 Computer Organization and Design. Readings. Floating Point (FP) Numbers
This Unit: Floating Point Arithmetic CIS 371 Computer Organization and Design Unit 7: Floating Point App App App System software Mem CPU I/O Formats Precision and range IEEE 754 standard Operations Addition
More informationCOMPUTER SKILLS LESSON 3
COMPUTER SKILLS LESSON 3 Prof. Valeria Cardellini cardellini@ing.uniroma2.it Prof. Emiliano Casalicchio casalicchio@ing.uniroma2.it Computer Skills  Lesson 3  V. Cardellini 2 The professors Valeria Cardellini,
More informationKeywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void
1. Explain C tokens Tokens are basic building blocks of a C program. A token is the smallest element of a C program that is meaningful to the compiler. The C compiler recognizes the following kinds of
More informationC++ Language Tutorial
cplusplus.com C++ Language Tutorial Written by: Juan Soulié Last revision: June, 2007 Available online at: http://www.cplusplus.com/doc/tutorial/ The online version is constantly revised and may contain
More informationToday. Binary addition Representing negative numbers. Andrew H. Fagg: Embedded Real Time Systems: Binary Arithmetic
Today Binary addition Representing negative numbers 2 Binary Addition Consider the following binary numbers: 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 How do we add these numbers? 3 Binary Addition 0 0 1 0 0 1 1
More informationSigned Binary Arithmetic
Signed Binary Arithmetic In the real world of mathematics, computers must represent both positive and negative binary numbers. For example, even when dealing with positive arguments, mathematical operations
More informationHandout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.
Handout 1 CS603 ObjectOriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java
More informationIntroduction to Java. CS 3: Computer Programming in Java
Introduction to Java CS 3: Computer Programming in Java Objectives Begin with primitive data types Create a main class with helper methods Learn how to call builtin class methods and instance methods
More informationNumber Representation
Number Representation CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Topics to be Discussed How are numeric data
More informationCS321. Introduction to Numerical Methods
CS3 Introduction to Numerical Methods Lecture Number Representations and Errors Professor Jun Zhang Department of Computer Science University of Kentucky Lexington, KY 405060633 August 7, 05 Number in
More informationSection 1.4 Place Value Systems of Numeration in Other Bases
Section.4 Place Value Systems of Numeration in Other Bases Other Bases The HinduArabic system that is used in most of the world today is a positional value system with a base of ten. The simplest reason
More informationJava How to Program, 9/e
Java How to Program, 9/e Education, Inc. All Rights Reserved. 1 Any computing problem can be solved by executing a series of actions in a specific order. An algorithm is a procedure for solving a problem
More informationDivide: Paper & Pencil. Computer Architecture ALU Design : Division and Floating Point. Divide algorithm. DIVIDE HARDWARE Version 1
Divide: Paper & Pencil Computer Architecture ALU Design : Division and Floating Point 1001 Quotient Divisor 1000 1001010 Dividend 1000 10 101 1010 1000 10 (or Modulo result) See how big a number can be
More informationECE 0142 Computer Organization. Lecture 3 Floating Point Representations
ECE 0142 Computer Organization Lecture 3 Floating Point Representations 1 Floatingpoint arithmetic We often incur floatingpoint programming. Floating point greatly simplifies working with large (e.g.,
More informationLecture 2. Binary and Hexadecimal Numbers
Lecture 2 Binary and Hexadecimal Numbers Purpose: Review binary and hexadecimal number representations Convert directly from one base to another base Review addition and subtraction in binary representations
More informationIntroduction to Programming
Introduction to Programming SS 2012 Adrian Kacso, Univ. Siegen adriana.dkacsoa@dunisiegena.de Tel.: 0271/7403966, Office: HB 8406 Stand: April 25, 2012 Betriebssysteme / verteilte Systeme Introduction
More informationChapter 2 Elementary Programming
Chapter 2 Elementary Programming 2.1 Introduction You will learn elementary programming using Java primitive data types and related subjects, such as variables, constants, operators, expressions, and input
More informationBinary math. Resources and methods for learning about these subjects (list a few here, in preparation for your research):
Binary math This worksheet and all related files are licensed under the Creative Commons Attribution License, version 1.0. To view a copy of this license, visit http://creativecommons.org/licenses/by/1.0/,
More informationLecture 4 Representing Data on the Computer. Ramani Duraiswami AMSC/CMSC 662 Fall 2009
Lecture 4 Representing Data on the Computer Ramani Duraiswami AMSC/CMSC 662 Fall 2009 x = ±(1+f) 2 e 0 f < 1 f = (integer < 2 52 )/ 2 521022 e 1023 e = integer Effects of floating point Effects of floating
More information> 2. Error and Computer Arithmetic
> 2. Error and Computer Arithmetic Numerical analysis is concerned with how to solve a problem numerically, i.e., how to develop a sequence of numerical calculations to get a satisfactory answer. Part
More informationLevent EREN levent.eren@ieu.edu.tr A306 Office Phone:4889882 INTRODUCTION TO DIGITAL LOGIC
Levent EREN levent.eren@ieu.edu.tr A306 Office Phone:4889882 1 Number Systems Representation Positive radix, positional number systems A number with radix r is represented by a string of digits: A n
More informationUseful Number Systems
Useful Number Systems Decimal Base = 10 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Binary Base = 2 Digit Set = {0, 1} Octal Base = 8 = 2 3 Digit Set = {0, 1, 2, 3, 4, 5, 6, 7} Hexadecimal Base = 16 = 2
More information10CS35: Data Structures Using C
CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions  a conventional tool for handling a
More informationIn this lecture you will learn:
Data Types and Variables Imed Hammouda Department of Software Systems Tampere University of Technology Objectives In this lecture you will learn: What is a data type and how types are represented in C++.
More informationTI86 Graphing Calculator Keystroke Guide
TI86 Graphing Calculator Keystroke Guide In your textbook you will notice that on some pages a keyshaped icon appears next to a brief description of a feature on your graphing calculator. In this guide
More informationVariables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in memory.
JAVA TYPES BASIC DATA TYPES GENERAL Variables are nothing but reserved memory locations to store values. This means that when you create a variable you reserve some space in memory. Based on the data type
More informationCSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals
CSE 1223: Introduction to Computer Programming in Java Chapter 2 Java Fundamentals 1 Recall From Last Time: Java Program import java.util.scanner; public class EggBasket { public static void main(string[]
More informationComputers. Hardware. The Central Processing Unit (CPU) CMPT 125: Lecture 1: Understanding the Computer
Computers CMPT 125: Lecture 1: Understanding the Computer Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University January 3, 2009 A computer performs 2 basic functions: 1.
More informationBinary Numbers. Bob Brown Information Technology Department Southern Polytechnic State University
Binary Numbers Bob Brown Information Technology Department Southern Polytechnic State University Positional Number Systems The idea of number is a mathematical abstraction. To use numbers, we must represent
More informationFractional Numbers. Fractional Number Notations. Fixedpoint Notation. Fixedpoint Notation
2 Fractional Numbers Fractional Number Notations 2010  Claudio Fornaro Ver. 1.4 Fractional numbers have the form: xxxxxxxxx.yyyyyyyyy where the x es constitute the integer part of the value and the y
More informationThe Essentials of Computer Organization and Architecture. Linda Null and Julia Lobur Jones and Bartlett Publishers, 2003
The Essentials of Computer Organization and Architecture Linda Null and Julia Lobur Jones and Bartlett Publishers, 2003 Chapter 2 Instructor's Manual Chapter Objectives Chapter 2, Data Representation,
More informationUIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming
UIL Computer Science for Dummies by Jake Warren and works from Mr. Fleming 1 2 Foreword First of all, this book isn t really for dummies. I wrote it for myself and other kids who are on the team. Everything
More informationExample of a Java program
Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);
More informationLecture 1 Notes: Introduction
Introduction to C++ January 4, 2011 Massachusetts Institute of Technology 6.096 Lecture 1 Notes: Introduction 1 Compiled Languages and C++ 1.1 Why Use a Language Like C++? At its core, a computer is just
More informationData 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 informationTo convert an arbitrary power of 2 into its English equivalent, remember the rules of exponential arithmetic:
Binary Numbers In computer science we deal almost exclusively with binary numbers. it will be very helpful to memorize some binary constants and their decimal and English equivalents. By English equivalents
More informationCHAPTER 5 Roundoff errors
CHAPTER 5 Roundoff errors In the two previous chapters we have seen how numbers can be represented in the binary numeral system and how this is the basis for representing numbers in computers. Since any
More informationEverything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6
Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6 Number Systems No course on programming would be complete without a discussion of the Hexadecimal (Hex) number
More informationBinary Numbers. Binary Octal Hexadecimal
Binary Numbers Binary Octal Hexadecimal Binary Numbers COUNTING SYSTEMS UNLIMITED... Since you have been using the 10 different digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 all your life, you may wonder how
More informationSimulation & Synthesis Using VHDL
Floating Point Multipliers: Simulation & Synthesis Using VHDL By: Raj Kumar Singh  B.E. (Hons.) Electrical & Electronics Shivananda Reddy  B.E. (Hons.) Electrical & Electronics BITS, PILANI Outline Introduction
More informationCS 16: Assembly Language Programming for the IBM PC and Compatibles
CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking
More informationRestoring division. 2. Run the algorithm Let s do 0111/0010 (7/2) unsigned. 3. Find remainder here. 4. Find quotient here.
Binary division Dividend = divisor q quotient + remainder CS/COE447: Computer Organization and Assembly Language Given dividend and divisor, we want to obtain quotient (Q) and remainder (R) Chapter 3 We
More informationWe could also take square roots of certain decimals nicely. For example, 0.36=0.6 or 0.09=0.3. However, we will limit ourselves to integers for now.
7.3 Evaluation of Roots Previously we used the square root to help us approximate irrational numbers. Now we will expand beyond just square roots and talk about cube roots as well. For both we will be
More informationLecture 2: Number Representation
Lecture 2: Number Representation CSE 30: Computer Organization and Systems Programming Summer Session II 2011 Dr. Ali Irturk Dept. of Computer Science and Engineering University of California, San Diego
More informationCorrectly Rounded Floatingpoint BinarytoDecimal and DecimaltoBinary Conversion Routines in Standard ML. By Prashanth Tilleti
Correctly Rounded Floatingpoint BinarytoDecimal and DecimaltoBinary Conversion Routines in Standard ML By Prashanth Tilleti Advisor Dr. Matthew Fluet Department of Computer Science B. Thomas Golisano
More informationVariables, Constants, and Data Types
Variables, Constants, and Data Types Primitive Data Types Variables, Initialization, and Assignment Constants Characters Strings Reading for this class: L&L, 2.12.3, App C 1 Primitive Data There are eight
More information12 Abstract Data Types
12 Abstract Data Types 12.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT).
More informationThe Hexadecimal Number System and Memory Addressing
APPENDIX C The Hexadecimal Number System and Memory Addressing U nderstanding the number system and the coding system that computers use to store data and communicate with each other is fundamental to
More informationChapter 3 Operators and Control Flow
Chapter 3 Operators and Control Flow I n this chapter, you will learn about operators, control flow statements, and the C# preprocessor. Operators provide syntax for performing different calculations or
More informationBinary Representation. Number Systems. Base 10, Base 2, Base 16. Positional Notation. Conversion of Any Base to Decimal.
Binary Representation The basis of all digital data is binary representation. Binary  means two 1, 0 True, False Hot, Cold On, Off We must be able to handle more than just values for real world problems
More informationFigure 1. A typical Laboratory Thermometer graduated in C.
SIGNIFICANT FIGURES, EXPONENTS, AND SCIENTIFIC NOTATION 2004, 1990 by David A. Katz. All rights reserved. Permission for classroom use as long as the original copyright is included. 1. SIGNIFICANT FIGURES
More information( 7) + 4 = (9) =  3 ( 3) + 7 = ( 3) = 2
WORKING WITH INTEGERS: 1. Adding Rules: Positive + Positive = Positive: 5 + 4 = 9 Negative + Negative = Negative: ( 7) + ( 2) =  9 The sum of a negative and a positive number: First subtract: The answer
More informationDNA Data and Program Representation. Alexandre David 1.2.05 adavid@cs.aau.dk
DNA Data and Program Representation Alexandre David 1.2.05 adavid@cs.aau.dk Introduction Very important to understand how data is represented. operations limits precision Digital logic built on 2valued
More informationLecture 11: Number Systems
Lecture 11: Number Systems Numeric Data Fixed point Integers (12, 345, 20567 etc) Real fractions (23.45, 23., 0.145 etc.) Floating point such as 23. 45 e 12 Basically an exponent representation Any number
More informationMACHINE INSTRUCTIONS AND PROGRAMS
CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS CHAPTER OBJECTIVES In this chapter you will learn about: Machine instructions and program execution, including branching and subroutine call and return operations
More informationTHE BINARY NUMBER SYSTEM
THE BINARY NUMBER SYSTEM Dr. Robert P. Webber, Longwood University Our civilization uses the base 10 or decimal place value system. Each digit in a number represents a power of 10. For example, 365.42
More informationC Programming Dr. Hasan Demirel
C How to Program, H. M. Deitel and P. J. Deitel, Prentice Hall, 5 th edition (3 rd edition or above is also OK). Introduction to C Programming Dr. Hasan Demirel Programming Languages There are three types
More informationBinary Adders: Half Adders and Full Adders
Binary Adders: Half Adders and Full Adders In this set of slides, we present the two basic types of adders: 1. Half adders, and 2. Full adders. Each type of adder functions to add two binary bits. In order
More informationSolution for Homework 2
Solution for Homework 2 Problem 1 a. What is the minimum number of bits that are required to uniquely represent the characters of English alphabet? (Consider upper case characters alone) The number of
More informationInformatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
More informationThis 3digit ASCII string could also be calculated as n = (Data[2]0x30) +10*((Data[1]0x30)+10*(Data[0]0x30));
Introduction to Embedded Microcomputer Systems Lecture 5.1 2.9. Conversions ASCII to binary n = 100*(Data[0]0x30) + 10*(Data[1]0x30) + (Data[2]0x30); This 3digit ASCII string could also be calculated
More informationOBJECT ORIENTED PROGRAMMING IN C++
OBJECT ORIENTED PROGRAMMING IN C++ For Off Campus BSc Computer Science Programme UNIT 1 1. The goal of programmers is to develop software that are. A. Correct B. Reliable and maintainable C. Satisfy all
More informationChapter 3. Input and output. 3.1 The System class
Chapter 3 Input and output The programs we ve looked at so far just display messages, which doesn t involve a lot of real computation. This chapter will show you how to read input from the keyboard, use
More informationIntroduction to Programming
Introduction to Programming SS 2012 Adrian Kacso, Univ. Siegen adriana.dkacsoa@dunisiegena.de Tel.: 0271/7403966, Office: HB 8406 Stand: April 25, 2012 Betriebssysteme / verteilte Systeme Introduction
More informationData Storage. Chapter 3. Objectives. 31 Data Types. Data Inside the Computer. After studying this chapter, students should be able to:
Chapter 3 Data Storage Objectives After studying this chapter, students should be able to: List five different data types used in a computer. Describe how integers are stored in a computer. Describe how
More informationVB.NET Programming Fundamentals
Chapter 3 Objectives Programming Fundamentals In this chapter, you will: Learn about the programming language Write a module definition Use variables and data types Compute with Write decisionmaking statements
More informationPractical Programming, 2nd Edition
Extracted from: Practical Programming, 2nd Edition An Introduction to Computer Science Using Python 3 This PDF file contains pages extracted from Practical Programming, 2nd Edition, published by the Pragmatic
More informationProgramming Fundamental. Instructor Name: Lecture2
Programming Fundamental Instructor Name: Lecture2 Today s Lecture What is Programming? First C++ Program Programming Errors Variables in C++ Primitive Data Types in C++ Operators in C++ Operators Precedence
More information