1 / 15

CS 102

Explore different numbering systems used in computers, including binary, machine code, and programming languages like Visual Basic .NET. Understand the basics of decimal, binary, octal, and hexadecimal systems. Discover the evolution of programming languages from APL to VB.NET.

efischer
Download Presentation

CS 102

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS 102 Numbering Systems

  2. Overview Computers do not use English. They do not use words Computers run on NUMBERS only Those numbers are in BINARY only

  3. Overview • Computers have used a variety of numbering systems (over the years) • More primitive to more complex • Binary • Machine Code (Assembly) • Programming Languages • Use compilers to make machine code • Great many of them!! • Ex: Visual Basic .NET

  4. Sample Machine Code 0101010101000101010101010101010101010100101010101011010101010100100101010101010101010010101010101010100000101011111001010101010010100101010101101001010101010101001010101010010101010100010101010101010101010101010010101010101101010101010010010101010101010101001010101010101010000010101111100101010101001010010101010110100101010101010100101010101001010101010001010101010101010101010101001010101010110101010101001001010101010101010100101010101010101000001010111110010101010100101001010101011010010101010101010010101010101010101011010101010101010101010101010101010101011111101010101010101010101010100001010101010101010101010010101010101001010101010101010101010101010010101010100100000111010000

  5. Sample Assembly Code assume cs:cseg,ds:cseg,ss:nothing,es:nothing jmp p150 ; start-up code jumpvaldd 0 ; address of prior interrupt signature dwwhozat ; program signature state db 0 ; '-' = off, all else = on wait dw 18 ; wait time - 1 second or 18 ticks hour dw 0 ; hour of the day atimedw 0ffffh ; minutes past midnite for alarm acountdw 0 ; alarm beep counter - number of seconds (5) atone db 5 ; alarm tone - may be from 1 to 255 - the ; higher the number, the lower the frequency alengdw 8080h ; alarm length (loop count) may be from 1-FFFF dhoursdw 0 ; display hours db ':' dminsdw 0 ; display minutes db ':' dsecsdw 0 ; display seconds db '-' ampm db 0 ; 'A' or 'P' for am or pm

  6. One program • Look at the evolution of one simple program here

  7. Higher Level Languages • APL: 1957. A mathematical language. (~R∊R∘.×R)/R←1↓⍳R ‘ Find primes 1-R • ALGOL: 1960. First second generation language. BEGIN FILE F (KIND=REMOTE); EBCDIC ARRAY E [0:11]; REPLACE E BY "HELLO WORLD!"; WHILE TRUE DO BEGIN WRITE (F, *, E); END; END.

  8. Higher Level Languages • C: 1972. General purpose programming. #include <stdio.h> int main(void) { printf("hello, world\n"); return 0; } • Basic: 1964. Many versions since then. INPUT "What is your name: ", UserName$ PRINT "Hello "; UserName$ DO INPUT "How many stars do you want: ", NumStars Stars$ = STRING$(NumStars, "*") PRINT Stars$ DO INPUT "Do you want more stars? ", Answer$ LOOP UNTIL Answer$ <> "" Answer$ = LEFT$(Answer$, 1) LOOP WHILE UCASE$(Answer$) = "Y" PRINT "Goodbye "; UserName$

  9. Higher Level Languages • VB.NET: 2003. Visual Programming with .NET libraries. Module Module1 Sub Main() Console.WriteLine("Hello, world!") End Sub End Module • This is NOT the visual version of the program (stay tuned for that!) • This is NOT the pinnacle of programming • It is, however, a very useful, very easy to learn language

  10. Numbering Systems • Before we can start to program, we need to understand the basic numbering systems • From time to time they will be used in our code • Once upon a time, they were essential to programming. Now they are merely useful • Several basic numbering systems: • Decimal • Binary • Octal • Hexadecimal

  11. Decimal • Base 10 numbers • Numbering system we all grew up with • For example: • 1,050,423 • We all know how to manipulate these numbers • Addition, subtraction, multiplication, etc • Many ways to use these numbers. • Ex: Abacus • Other numbering systems are no different really • Just a different base than 10

  12. Binary • What computers really use • Base 2 • Only symbols used are: 0, 1 • Each digit represents a power of 2 • Tutorial: http://www.math.grin.edu/~rebelsky/Courses/152/97F/Readings/student-binary.html

  13. Octal • Base 8 “Octa” • Not used much anymore • Used a LOT in early computing • Group three binary digits together • Each group forms numbers from 0-7 • Used for one common task today: ASCII

  14. Hexadecimal • Base 16 • Digits are: 0123456789ABCDEF • Each digit is a power of 16 • 16^0 • 16^1 • 16^2 • Etc Click here for more information

  15. Thanks to Tom Lehrer New Math (1964)

More Related