Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
FUNDAMENTAL DATA TYPES CSC 171 LECTURE 4 How do Computers represent information? Computers are switches Switches are “on” or “off” Suppose we want to represent something We can decide to interpret (semantics) an “on” switch as a “1” and an “off” switch as a “0” How many possibilities? 1 switch 2 switches 3 switches … “n” switches A “code” Ceasar Cipher – Shift the letters TED becomes VGF Something is represented as something else A C B D C E D F E G F H … … Coding Letters How many letters? How many “switches” (bits) What is a number? 324 A number is a shorthand for a polynomial 324 “means” (3*100)+(2*10)+(4*1) Or : (3*102)+(2*101)+(4*100) Why do we use 10 numerals? {0,1,2,3,4,5,6,7,8,9} A possible code Every letter is a 26 bit sequence A is “10000000000000000000000000” B is “01000000000000000000000000” “TED” is : – 00000000000000000010000000 00001000000000000000000000 00010000000000000000000000 A beter code Use all possible combinations TED becomes 010110010000011 01011 00100 00011 A 00000 B 00001 C 00010 D 00011 E 00100 F 00101 … … What is a number? 324 A number is a shorthand for a polynomial 324 “means” (3*100)+(2*10)+(4*1) Or : (3*102)+(2*101)+(4*100) Why do we use 10 numerals? {0,1,2,3,4,5,6,7,8,9} Binary Digits (bits) Since computers only have two states they count in base 2 (binary) 11012 11012= (1*8)+(1*4)+(0*2)+(1*1) Or = (1*23)+(1*22)+(0*21)+(1*20) Or = 1310 Note: 8 “bits” is a “byte” PAIRS EXCERCISE Convert the following binary numbers into base 10 10101 00111 11010 01010 abcde = (a*24)+(b*23)+(c*22)+(d*21)+(e*20) And, of course Convert the following base 10 numbers into binary 7, 12, 5, 19 abcde=(a*24)+(b*23)+(c*22)+(d*21)+(e*20) NUMBER TYPES IN JAVA int : integers, no fractional part –1 – -4 –0 double: floating point numbers – 0.5 – 0.0 – -3.1111 Operations depend on type “/” is the division operator 7.0 / 4.0 yields 1.75 7 / 4 yields 1 Note the “remainder” operator is useful for integers 7 % 4 yields 3 “PRIMITIVE” types in JAVA boolean char byte short int long float double 8 bits 16 bits 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits Assignment public void addNickels(int count) { nickels = nickels + count; } Need to draw this Increment and decrement nickles++ is shorthand for nickles = nickles + 1; or Nickles += 1; Some shorthand options int count; count = 0; count++; count--; ++count; --count; Constant variables Sort of like “jumbo shrimp” or “freezer burn”? “Magic numbers” are bad style (to the blackboard, robin!) Static finals Enable constants Math.PI Enable functions Math.sqrt(x)