Binary number, Bits and Byte - PowerPoint PPT Presentation

About This Presentation
Title:

Binary number, Bits and Byte

Description:

Binary number, Bits and Byte Sen Zhang Number systems Decimal Binary Bits bytes Hexadecimal Octal Numbers conversion among different systems Ascii code Bits & Bytes? – PowerPoint PPT presentation

Number of Views:607
Avg rating:3.0/5.0
Slides: 79
Provided by: employees8
Category:
Tags: binary | bits | byte | number

less

Transcript and Presenter's Notes

Title: Binary number, Bits and Byte


1
Binary number, Bits and Byte
  • Sen Zhang

2
  • Number systems
  • Decimal
  • Binary
  • Bits
  • bytes
  • Hexadecimal
  • Octal
  • Numbers conversion among different systems
  • Ascii code

3
Bits Bytes?
  • Have you ever heard of words bits and bytes? Have
    you heard of an advertisement that says, "This
    computer has a 64-bit Pentium IV processor with
    256 mega-bytes of RAM and 100 giga-bytes of hard
    disk space."
  • Probably the answer is yes, even for a normal
    computer user, not to mention you, a C
    programmer.
  • As a computer programmer, you should know what
    bits and bytes are and how to work with numbers
    expressed in binary and hexadecimal notations.

4
  • In this lecture, we will discuss bits and bytes,
    binary and decimal numbers in detail so that you
    will gain a fundamental understanding about their
    meanings, what these systems are and how they
    work.
  • To help you understand, let's first review the
    well known decimal number system.

5
The Decimal Number System
  • The decimal system is the base-10 system that we
    use every day.
  • A number, say 6357, represented in the base-10
    system consists of multiple ordered digits. (In
    other words, digits are normally combined
    together in groups to create larger numbers.)
  • A digit is a single place that can hold numerical
    values between 0 and 9 (10 different values).

6
Let us start from an arbitrary decimal number
  • For example, 6,357 has four digits.
  • It is understood that in the number 6,357,
  • the 7 is filling the "1s place,"
  • while the 5 is filling the 10s place,
  • the 3 is filling the 100s place
  • and the 6 is filling the 1,000s place.
  • So you could express 6,357 this way if you want
    to be explicit
  • (6 1000) (3 100) (5 10) (7 1)
  • 6000 300 50 7
  • 6357

103
7
Continue ..
  • Another way to express it would be to use the
    concept of powers of 10.
  • A specific digit is associated with a specific
    weight expressed as powers of 10. The first digit
    (counting from the right) gives 10 to the 0
    power, the second digit gives 10 to the 1 power,
    and so on.

8
  • Exponents are a shorthand way to show how many
    times a number, called the base, is multiplied
    times itself. A number with an exponent is said
    to be "raised to the power" of that exponent.
  • Assuming that we are going to represent the
    concept of "raised to the power of" with the ""
    symbol.
  • "10 squared or 10 to the power of 2 is written
    as "102"
  • 10 to the fourth power is denoted 104

9
  • Thus, another way to express the previous number
    is like this
  • (6 103) (3 102) (5 101) (7
    100)
  • 6000 300 50 7
  • 6357

10
  • What you can see from this expression is that
    each digit is a placeholder for the power of the
    index of that placeholder of base 10, starting
    from the least significant digit with 10 raised
    to the power of zero (i.e. counting from the
    rightmost digit).

11
  • But why do we human beings use 10 based number
    system?

12
  • The most commonly accepted explanation is that
    our base-10 number system was adopted by our
    ancestors most likely because we have 10 fingers.
  • Interestingly enough, maybe that is why digit in
    English also means a finger or toe.

13
  • We have reasons to ask a question in our minds
  • If we happened to evolve to have eight fingers
    instead, would we probably have a base-8 number
    system?
  • The answer is probably YES!

14
Any other number systems?
  • The good news about number systems is that it is
    not the only choice to have 10 different values
    in a digit.
  • Actually, we can have base-anything number
    systems from a theoretical point of view.
  • There are many good reasons to use different
    bases in different situations. For example, 7
    days/week, 12 months/year

15
A generalized rule
  • The following rules apply to base 10 and to any
    other base number system
  • The system of base n requires n different symbols
    or values.
  • The left most digit is the highest-order digit
    and represents the most significant digit, while
    the lowest-order digit is the least significant
    digit.
  • A digit is represented as powers of the system's
    base.

16
  • Computers happen to operate using the base-2
    number system, also known as the binary number
    system, just like the base-10 number system is
    known as the decimal number system to human
    beings.

17
The fundamental point
  • Modern computers use binary number system, in
    which there are only zeros and ones. (Only two
    symbols)
  • A bit to binary is similar a digit to a
    decimal information. (Again, the easiest way to
    understand bits is to compare them to something
    you know digits.)
  • A bit has a single binary value, either 0 or 1.

18
Binary vs. Decimal
  • Binary is a base two system which works just like
    our decimal system.
  • Considering the decimal number system, it has a
    set of values which range from 0 to 9.
  • The binary number system is base 2 and therefore
    requires only two digits, 0 and 1.

19
The fundamental point
  • Binary representation of numbers and other
    information is the representation which can be
    understood by computer chips and can be saved in
    memory.
  • It is important to computers because all computer
    data is ultimately represented by a series of
    zeros and ones, no matter you realize it or not.

20
You might ask
  • Why dont computers use the base-10 decimal
    system for numbers, counting and arithmetic?
  • Why not 4 based, 7 based?
  • Why 2 based?

21
  • We know that the computer doesn't have a real
    brain inside. In fact, it is made up mostly of
    semiconductor materials such as silicon. Yet, a
    computer acts in many ways as if it does have a
    real brain, because it can store (memorize) data
    and derive new information (operations) from the
    input data.

22
Why binary?
  • These questions can be answered by a series of
    relevant questions!
  • How to store the values in hardware?
  • How to automatically perform arithmetic
    operations on numbers?

23
  • The fundamental question is can we find out a
    physical material to stably maintain n different
    status?

24
How to store?
  • Advancement in material science guarantees that
    binary status can be represented with no
    ambiguity.
  • Silicon and many other semiconductor materials
    can present one of two status at any given time,
    and can retain a status for a long time.
  • Positive or negative, 5 volt or -5 volt.
  • Think about 2 status in electronic world, if not
    One then Zero, very simple to implement in
    electronic world.

25
  • One the other hand, it is difficult, if not
    impossible, to find out a material to be able to
    maintain 10 different status stably.
  • Generally speaking, the more status to maintain,
    the more difficult to find out such a material.

26
How to calculate
  • Another factor is how to implement proper digital
    circuits to perform arithmetic and logical
    operations based on a specific number system.
  • It turns out that the binary system is the
    preferred way to implement CPUs to do various
    operations (arithmetic and logical operations).
    Not any other systems!

27
  • You could wire up and build computers that
    operate in base-10 (assume physically we can find
    out such kind of material.), but they would be
    fiendishly expensive right now. On the other
    hand, base-2 computers are relatively cheap.

28
  • Also because there must always be at least two
    symbols for an information processing system to
    be able to distinguish significances of different
    values and to manipulate on them, binary is the
    smallest numbering system that supports definite
    arithmetic and logic operations.

29
The simplest answer is
  • Basically speaking, binary system simplifies
    information representation and information
    processing in electronic world.
  • Binary number system is the easiest one to
    implement from the hardware point of view.
  • The binary number system suits a computer
    extremely well, because it allows simple CPU and
    memory designs.
  • So computers use binary numbers.

30
  • Their CPU and memory are made up of millions of
    tiny switches that can be either ON or OFF. Two
    symbols, 0 and 1, can be used to stand for the
    two states of ON and OFF.

31
(No Transcript)
32
  • Since the computer is really made up of tiny
    switches that can be either OFF or ON, you can
    look at a binary number as a series of light
    switches. A 1 represents a switch that is ON, and
    a 0 means a switch that is OFF.

33
  • The computer's CPU needs only recognize two
    states, in the same way as a switch must always
    be open or closed, or an electrical flow on or
    off, a binary digit must always be one or zero.
  • on or off,
  • Yes or no,
  • 1 or 0.
  • But from this on-off, yes-no 1-0 state, all
    things may can be represented completely and
    calculated correctly.

34
What is a feasible number system?
  • Should be able to represent any information.
  • Should be able to support arithmetic and logic
    operations.

35
Bits
  • The binary number system uses binary digits
    (bits) in place of decimal digits.
  • A binary number is composed of only 0s and 1s,
    like this 1011.
  • How do you figure out what the value of the
    binary number 1011 is in decimal world?

36
How does it work?
  • As we have shown that our decimal system is based
    on place or location. That is, the place of each
    digit decides the value of that digit.
  • The binary system works in exactly the same way,
    except that its place value is based on the
    number two.

37
  • Therefore we have the one's place, the two's
    place, the four's place, the eight's place, the
    sixteen's place, and so on. Each place in the
    number represents two times (2X's) the place to
    its right.
  • An example
  • (1 23) (0 22) (1 21) (1 20)
  • 8 0 2 1
  • 11

38
How you count or add in decimal?
  • Considering the decimal number system, it has a
    set of values which range from 0 to 9.
  • If you add 1 to 9, carry will happen.
  • X Y is greater than 10 and carry 1 onto the
    next column on the left.
  • If the sum is less than 10, put it down at the
    bottom and set the carry to zero. If it is not
    less than the base, subtract 10, put down the
    result, and set the carry to one.

39
  • With only two numerals, 1 (one) and 0 (zero),
    counting in binary is pretty simple. Just keep in
    mind the following
  • 0 0 0
  • 0 1 1
  • 1 0 1
  • 1 1 10
  • When you look at this sequence,
  • 0 and 1 are the same for decimal and binary
    number systems.
  • As for the decimal number 2, you see for the
    first time carrying takes place in the binary
    system. If a bit is 1, and you add 1 to it, the
    bit becomes 0 and the next bit becomes 1.

40
Bits
  • 0 0
  • 1 1
  • 2 10
  • 3 11
  • 4 100
  • 5 101
  • 6 110
  • 7 111
  • 8 1000
  • 9 1001
  • 10 1010
  • 11 1011
  • 12 1100

41
Bits
  • Starting at zero and going through 12, counting
    in decimal and binary have been listed on the
    previous slide.
  • Please also notice that, in the transition from
    decimal 11 to decimal 12, the carrying effect
    rolls over through 2 bits, turning 1011 into
    1100.

42
decimal to binary
  • Keep dividing by 2
  • Ex 2 23710     
  • 237 / 2 118    Remainder 1----------------------
    --------------------------------
  • 118 / 2 59 Remainder 0---------------------
    ------------------------------
  • 59 / 2 29 Remainder 1--------------------
    ----------------------------
  • 29 / 2 14 Remainder 1--------------------
    ----------------------------
  • 14 / 2 7 Remainder 0-------------------
    --------------------------
  • 7 / 2 3 Remainder 1------------------
    ------------------------
  • 3 / 2 1 Remainder 1------------------
    -----------------
  • 1 / 2 0 Remainder 1------------------
    --------------
  •                                          

  • v  v  v  v  v 
    v  v  v

  • 1  1  1  0 
    1  1  0  1

43
Binary arithmetic operation
  • Look at adder in binary and decimal
  • 3
  • 3
  • 6
  • 11
  • 11
  • 110 (carry) which is 6 in decimal.

44
How to add two numbers which are not necessarily
base 10
  • Start with the rightmost column of digits (be
    sure the numbers are properly aligned with units
    digits under each other).
  • Begin with carry zero.
  • Add the digits in the current column plus the
    carry.
  • If the sum is less than the base, put it down at
    the bottom and set the carry to zero. If it is
    not less than the base, subtract the base, put
    down the result, and set the carry to one.
  • If you are not out of columns, move to the next
    one to the left, and go back to step c above.
  • If the carry is not zero, write it down as the
    leftmost digit of the sum.
  • Stop.

45
More binary operations
  • Likewise, other arithmetic operations such as
    subtraction, multiplication and division, as well
    as other logical operations can all be
    accomplished electronically in CPUs, but more
    complicated than binary adder.
  • You just need to know that binary numbers can
    represent everything, support a complete set of
    arithmetic and logic operations. (Not the
    concentration of this class, take introduction to
    computer science or architecture course if want
    to explore more such as binary complementary code
    etc.!)

46
  • As you can see, numbers can become rather long
    and appear to be cumbersome in the binary system.
    For example, to show the number 10, we need four
    light switches, or four places.
  • However, it is not a problem to computers at all!
    Because the real switches inside a computer are
    tiny and they are able to turn on and off very
    rapidly.

47
The Hexadecimal System
  • Although not a problem internally, long binary
    number seems a problem to display in some
    situations. A common practice to solve this
    problem is to use hexadecimal to represent Binary
    numbers more compactly externally.
  • The hexadecimal system is base 16. Therefore, it
    requires 16 different symbols. The values 0
    through 9 are used, along with the letters A
    through F, which represent the decimal values 10
    through 15.
  • 0..9, A, B, C, D, E, F
  • 0..9, 10, 11, 12,13, 14, 15

48
Hexadecimal lt-gtbinary
49
(No Transcript)
50
Hexadecimal lt-gtbinary
  • Group binary number 4 by 4 starting from the
    least significant position.

11,1101,1001
3D9
ED
1  1  1  0  ,1  1  0  1
51
The Octal System
  • The Octal system is base 8. Therefore it requires
    8 digits. The values 0 through 7 are used.
  • Octal to hexadecimal conversion, or visa versa,
    is most easily performed by first converting to
    binary.

52
  • A binary number is converted to octal by grouping
    the bits in groups of three.

355
1  1  ,1  0  1 , 1  0  1
53
  • The binary, hexadecimal (hex) and octal system
    share one common feature they are all based on
    powers of 2.
  • Each digit in the hex system is equivalent to a
    four-digit binary number and each digit in the
    octal system is equivalent to a 3-digit binary
    number.

54
1 bit
1 byte
4 bytes 1 word System dependent.
55
A bit
  • A bit (from Binary digIT) is the smallest
    unit of memory, also the unit of measurement of
    data information.

56
Bytes
  • Since a single bit holds so little information,
    bits are rarely seen alone in computers. They are
    almost always bundled together into 8-bit
    collections, and these collections are called
    bytes.
  • Bytes, larger units, then are treated as integral
    units of storage.

57
Words
  • On most machines, bytes are assembled into
    larger structures called words, where a word is
    usually defined to be the size required to hold
    an integer value.
  • Some machines use two-byte words (16 bits), while
    some others use 4-byte words(32 bits) and some
    machines use less conventional sizes.

58
Why are there 8 bits in a byte?
  • A similar question is, "Why are there 12 eggs in
    a dozen?"
  • Why your table has no larger or smaller working
    area?
  • It targets at the most common situation.
  • The 8-bit byte is something that people settled
    on through trial and error over the past 50
    years.
  • To some extend, 8-bit is enough to represent all
    English characters and Arabic numbers. A byte
    used to be the basic unit to hold an individual
    character in a text document.

59
One question?
  • Can you use your one eye to show yes or no?
  • Can you use your two eyes to represent four
    directions, north, east, south and west to your
    partner.
  • Hint you can open and close your eyes to code
    different information.

60
  • With 8 bits in a byte, you can represent 256
    values ranging from 0 to 255, as shown here
  • 0 00000000
  • 1 00000001
  • 2 00000010
  • ...
  • 254 11111110
  • 255 11111111
  • This is related to ASCII code!

61
ASCII
  • It is an acronym for the American Standard Code
    for Information Interchange.
  • It is a standard seven-bit code that was first
    proposed by the American National Standards
    Institute or ANSI in 1963, and finalized in 1968
    as ANSI Standard X3.4.
  • The purpose of ASCII was to provide a standard to
    code various symbols ( visible and invisible
    symbols)

62
ASCII
  • In the ASCII character set, each binary value
    between 0 and 127 represents a specific
    character.
  • Most computers extend the ASCII character set to
    use the full range of 256 characters available in
    a byte. The upper 128 characters handle special
    things like accented characters from common
    foreign languages.

63
  • In general, ASCII works by assigning standard
    numeric values to letters, numbers, punctuation
    marks and other characters such as control codes.
  • An uppercase "A," for example, is represented by
    the decimal number 65."

64
Bytes ASCII
  • By looking at the ASCII table, you can clearly
    see a one-to-one correspondence between each
    character and the ASCII code used.
  • For example, 32 is the ASCII code for a space.
  • We could expand these decimal numbers out to
    binary numbers (so 32 00100000), if we wanted
    to be technically correct -- that is how the
    computer really deals with things.

65
Bytes ASCII
  • Computers store text documents, both on disk and
    in memory, using these ASCII codes.
  • For example, if you use Notepad in Windows
    XP/2000 to create a text file containing the
    words, "Four score and seven years ago," Notepad
    would use 1 byte of memory per character
    (including 1 byte for each space character
    between the words -- ASCII character 32).
  • When Notepad stores the sentence in a file on
    disk, the file will also contain 1 byte per
    character and per space.
  • Binary number is usually displayed as Hexadecimal
    to save display space.

66
  • Take a look at a file size now.
  • Take a look at the space of your p drive

67
Bytes ASCII
  • If you were to look at the file as a computer
    looks at it, you would find that each byte
    contains not a letter but a number -- the number
    is the ASCII code corresponding to the character
    (see below). So on disk, the numbers for the file
    look like this
  • F o u r a n d s e v e n
  • 70 111 117 114 32 97 110 100 32 115 101 118 101
    110

68
  • Externally, it appears that human beings will use
    natural languages symbols to communicate with
    computer.
  • But internally, computer will convert everything
    into binary data.
  • Then process all information in binary world.
  • Finally, computer will convert binary information
    back to symbols understandable to human beings .

69
  • When you type the letter A, the hardware logic
    built into the keyboard automatically translates
    that character into the ASCII code 65, which is
    then sent to the computer. Similarly, when the
    computer sends the ASCII code 65 to output
    devices, the output hardware instead draw letter
    A on your screen or your computer.

70
revisit char data type
  • In C, single characters are represented using
    the data type char, which is one of the most
    important scalar data types.
  • char achar
  • acharA
  • achar65

71
More on book
  • Page 6 basic idea
  • Page 31- collating sequence

72
Character and integer
  • A character and an integer (actually a small
    integer spanning only 8 bits) are actually
    indistinguishable on their own. If you want to
    use it as a char, it will be a char, if you want
    to use it as an integer, it will be an integer,
    as long as you know how to use proper C
    statements to express your intentions.

73
  • 1 bit
  • 1 byte 8 bits
  • 1 kb 210 bytes 1024 bytes !1000
  • 1 Mb 1 k k bytes 210 210 bytes
  • 1 G b 210 210 210 bytes
  • 1 Terab 210 210 210 210 bytes

74
Even larger capacity
  • 1 petabyte 210 210 210 210 210 bytes (2
    to the 50th power )
  • 1 exabyte 260
  • 1 zettabyte 270
  • 1 yottabyte 280

75
Some interesting facts about what these
various-sized bytes can store
  • 1 bit a binary decision
  • 1 byte a character
  • 5 Megabytes The complete works of Shakespeare
  • 2 Gigabytes 20 meters of shelved books
  • 10 Terabytes The printed collection of the US
    Library of Congress
  • 200 Petabytes All printed material in the whole
    word.
  • 5 Exabytes All words ever spoken by human beings

76
CPU processes binary number
  • The first microprocessor to make it into a home
    computer was the Intel 8080, a complete 8-bit
    computer on one chip, introduced in 1974.

77
  • PC market moved from the 8088 to the 80286, the
    80386, 80486, the Pentium, the Pentium II to the
    Pentium III to the Pentium 4.
  • All of these microprocessors are made by Intel
    and all of them are improvements on the basic
    design of the 8088.
  • The Pentium 4 can execute any piece of code that
    ran on the original 8088, but it does it about
    5,000 times faster!

78
END
Write a Comment
User Comments (0)
About PowerShow.com