Unformatted text preview:

Number SystemsBits and bytesNumber systemsEverything is a number?CountingCounting in three systemsComputers use binary numbersUsing octal and hex numbersWriting octal and hex integersASCIIExtended ASCIIUnicodeThe EndJan 14, 2019Number Systems2Bits and bytesA bit is a single two-valued quantity: yes or no, true or false, on or off, high or low, good or badOne bit can distinguish between two cases: T, FTwo bits can distinguish between four cases:TT, TF, FT, FFThree bits can distinguish between eight cases:TTT, TTF, TFT, TFF, FTT, FTF, FFT, FFFIn general, n bits can distinguish between 2n casesA byte is 8 bits, therefore 28 = 256 cases3Number systemsThe binary (base 2) number system uses two “binary digits, ” (abbreviation: bits) -- 0 and 1The octal (base 8) number system uses eight digits:0, 1, 2, 3, 4, 5, 6, 7The decimal (base 10) number system uses ten digits:0, 1, 2, 3, 4, 5, 6, 7, 8, 9The hexadecimal, or “hex” (base 16) number system uses sixteen digits:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F4Everything is a number?Everything in the computer is stored as a pattern of bitsBinary distinctions are easy for hardware to work withNumbers are stored as a pattern of bitsComputers use the binary number systemCharacters are stored as a pattern of bitsOne byte (8 bits) can represent one of 256 charactersSo, is everything in the computer stored as a number?No it isn’t, it’s stored as a bit patternThere are many ways to interpret a bit pattern5CountingTo count up in any number system,add 1 to the rightmost digitif the result is higher than the largest digit,set that digit to zero and carry to the next placerepeat addition of 1 and carrying as many times as necessaryExample: In hex, F is the largest digitHence, 4A6FF + 1 = 4A7006Counting in three systemsDec Bin Hex 0 0 0 1 1 1 2 10 2 3 11 3 4 100 4 5 101 5 6 110 6 7 111 7 8 1000 8 9 1001 910 1010 A Dec Bin Hex 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F 16 10000 10 17 10001 11 18 10010 12 19 10011 13 20 10100 147Computers use binary numbersPeople like to use decimal numbersComputers use binary numbersJava translates decimal numbers into binaryThe computer does all its arithmetic in binaryJava translates binary results back into decimalYou occasionally have to use numbers in other number systemsIn Java, you can write numbers as octal, decimal, or hexadecimal (but not binary)Colors are usually specified in hexadecimal notation:#FF0000, #669966,8Using octal and hex numbersComputers use binary, but the numbers are too long and confusing for people--it’s easy to lose your placeOctal or hex is better for peopleTranslation between binary and octal or hex is easyOne octal digit equals three binary digits 101101011100101000001011 5 5 3 4 5 0 1 3One hexadecimal digit equals four binary digits 101101011100101000001011 B 5 C A 0 B9Writing octal and hex integersIntegers are usually written in decimal notation:7, 532, -28To write a number in octal, just start with a zero:02, 0657, -077...but don’t use the digits 8 or 9 !To write a number in hexadecimal, start with 0x or 0X: 0xA, 0X43AB5, -0xFFFFThe “digits” A through F can be upper or lower caseUppercase is usually preferredLowercase is more readable for long numbers10ASCIIUp until recently, all programming languages used ASCIISource: Wikipedia11Extended ASCIIIn ASCII, the first bit is always zeroEverybody got the bright idea of using a one for the first bit, to give an additional 128 charactersEverybody added different characters, in different ordersLots of people who don't know any better put Extended ASCII characters (curly quotes, letters with accents marks, etc.) into their documentsConsequently, other people see these characters as random garbageMoral: Don’t use Extended ASCII12UnicodeEventually, ASCII (American Standard Code for Information Interchange) wasn’t enoughUnicode is the new standard; it has more than 100,000 characters definedFor ease of transition, the first 128 characters are those defined in the ASCII standard, and require one byte each; other characters may require up to four bytesThis is the UTF-8 encodingA second Unicode standard uses either two or four bytes for each character (again, the first 128 are the same as ASCII)This is the UTF-16 encodingJava and all other modern languages now use Unicode13The End“There are 10 kinds of people in the world:those who understand binary, and those who don’t.” --Anon. “Real Programmers always confuse Christmas and Halloween because Oct31 == Dec25” --Andrew


View Full Document

Penn CIT 590 - Number Systems

Download Number Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Number Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Number Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?