i...exc 17 i 41101111 i 00010000 x15 1111 il l l t xt i 1111ll l l ll ees s eool area oo allzeros...

4
CS 61C Number Representation Fall 2019 Discussion 1: September 2, 2019 Notes 1 Unsigned Integers 1.1 If we have an n-digit unsigned numeral d n-1 d n-2 ...d 0 in radix (or base ) r, then the value of that numeral is P n-1 i=0 r i d i , which is just fancy notation to say that instead of a 10’s or 100’s place we have an r’s or r 2 ’s place. For the three radices binary, decimal, and hex, we just let r be 2, 10, and 16, respectively. We don’t have calculators during exams, so let’s try this by hand. Recall that our preferred tool for writing large numbers is the IEC prefixing system: Ki (Kibi) = 2 10 Mi (Mebi) = 2 20 Gi (Gibi) = 2 30 Ti (Tebi) = 2 40 Pi (Pebi) = 2 50 Ei (Exbi) = 2 60 Zi (Zebi) = 2 70 Yi (Yobi) = 2 80 (a) Convert the following numbers from their initial radix into the other two common radices: 1. 0b10010011 = 147 = 0x93 2. 63 = 0b0011 1111 = 0x3F 3. 0b00100100 = 36 = 0x24 4. 0 = 0b0 = 0x0 5. 39 = 0b0010 0111 = 0x27 6. 437 = 0b0001 1011 0101 = 0x1B5 7. 0x0123 = 0b0000 0001 0010 0011 = 291 (b) Convert the following numbers from hex to binary: 1. 0xD3AD = 0b1101 0011 1010 1101 = 54189 2. 0xB33F = 0b1011 0011 0011 1111 = 45887 3. 0x7EC4 = 0b0111 1110 1100 0100 = 32452 (c) Write the following numbers using IEC prefixes: 2 16 = 64 Ki 2 34 = 16 Gi 2 27 = 128 Mi 2 61 = 2 Ei 2 43 = 8 Ti 2 47 = 128 Ti 2 36 = 64 Gi 2 59 = 512 Pi (d) Write the following numbers as powers of 2: 2 Ki =2 11 256 Pi =2 58 512 Ki =2 19 64 Gi =2 36 16 Mi =2 24 128 Ei =2 67 i.li iililiipislEIiyisiliilii we represent numbers as 1028 1.103 0.1042 1048 lo a base to _decimal Binary is similar 1101 1.23 11 22 10.2 11 I kauris D T 5 242427 1 12 110 1128 142 kn.ws iooooosoT 64 1 so D weobooi yet now itis easy to convertitisher IF ox 4 T z4E yt3z IID now onin binary 39 32 7 Elinor mahay doooodconsie then ob 0 of se l page for how to roti 1 2428 1 2 32256 291 O zo ciz3 r42428 zayiyz.kz's I I 1241 24242429 24 is sitzttItza szis ii i4i3tI io.io go p 240.23 You 0 yo.ua jazi 240.27 zso.znoi.io ii in 24.2 28.250 26.230 i zoo

Upload: others

Post on 25-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • CS 61C Number RepresentationFall 2019 Discussion 1: September 2, 2019

    Notes

    1 Unsigned Integers1.1 If we have an n-digit unsigned numeral dn�1dn�2 . . . d0 in radix (or base) r, then

    the value of that numeral isPn�1

    i=0 ridi, which is just fancy notation to say that

    instead of a 10’s or 100’s place we have an r’s or r2’s place. For the three radices

    binary, decimal, and hex, we just let r be 2, 10, and 16, respectively.

    We don’t have calculators during exams, so let’s try this by hand. Recall that our

    preferred tool for writing large numbers is the IEC prefixing system:

    Ki (Kibi) = 210

    Mi (Mebi) = 220

    Gi (Gibi) = 230

    Ti (Tebi) = 240

    Pi (Pebi) = 250

    Ei (Exbi) = 260

    Zi (Zebi) = 270

    Yi (Yobi) = 280

    (a) Convert the following numbers from their initial radix into the other two

    common radices:

    1. 0b10010011 = 147 = 0x93

    2. 63 = 0b0011 1111 = 0x3F

    3. 0b00100100 = 36 = 0x24

    4. 0 = 0b0 = 0x0

    5. 39 = 0b0010 0111 = 0x27

    6. 437 = 0b0001 1011 0101 = 0x1B5

    7. 0x0123 = 0b0000 0001 0010 0011 = 291

    (b) Convert the following numbers from hex to binary:

    1. 0xD3AD = 0b1101 0011 1010 1101 = 54189

    2. 0xB33F = 0b1011 0011 0011 1111 = 45887

    3. 0x7EC4 = 0b0111 1110 1100 0100 = 32452

    (c) Write the following numbers using IEC prefixes:

    • 216 = 64 Ki

    • 234 = 16 Gi

    • 227 = 128 Mi

    • 261 = 2 Ei

    • 243 = 8 Ti

    • 247 = 128 Ti

    • 236 = 64 Gi

    • 259 = 512 Pi

    (d) Write the following numbers as powers of 2:

    • 2 Ki = 211

    • 256 Pi = 258

    • 512 Ki = 219

    • 64 Gi = 236

    • 16 Mi = 224

    • 128 Ei = 267

    i.li iililiipislEIiyisiliilii

    werepresentnumbers as1028 1.103 0.10421048loabaseto_decimal Binary issimilar 1101 1.23 112210.211 I

    kaurisD T 5242427 1121101128142kn.ws iooooosoT641soD weobooi yetnowitiseasytoconvertitisher IFox 4 Tz4E yt3z

    IIDnowoninbinary 3932 7 Elinor mahaydoooodconsiethenob 0

    of se lpageforhowtoroti124281 2 32256291

    O zociz3r42428zayiyz.kz'sI I12412424242924issitzttItzaszis ii i4i3tI

    io.io gop 240.23 You0yo.ua jazi 240.27

    zso.znoi.ioii in 24.228.250 26.230 i zoo

  • 2 Number Representation

    2 Signed Integers2.1 Unsigned binary numbers work for natural numbers, but many calculations use

    negative numbers as well. To deal with this, a number of di↵erent schemes have

    been used to represent signed numbers, but we will focus on two’s complement, as it

    is the standard solution for representing signed integers.

    • Most significant bit has a negative value, all others are positive. So the value ofan n-digit two’s complement number can be written as

    Pn�2i=0 2

    idi � 2n�1dn�1.

    • Otherwise exactly the same as unsigned integers.

    • A neat trick for flipping the sign of a two’s complement number: flip all thebits and add 1.

    • Addition is exactly the same as with an unsigned number.

    • Only one 0, and it’s located at 0b0.

    For questions (a) through (c), assume an 8-bit integer and answer each one for the

    case of an unsigned number, biased number with a bias of -127, and two’s complement

    number. Indicate if it cannot be answered with a specific representation.

    (a) What is the largest integer? What is the result of adding one to that number?

    1. Unsigned? 255, 0

    2. Biased? 128, -127

    3. Two’s Complement? 127, -128

    (b) How would you represent the numbers 0, 1, and -1?

    1. Unsigned? 0b0000 0000, 0b0000 0001, N/A

    2. Biased? 0b0111 1111, 0b1000 0000, 0b0111 1110

    3. Two’s Complement? 0b0000 0000, 0b0000 0001, 0b1111 1111

    (c) How would you represent 17 and -17?

    1. Unsigned? 0b0001 0001, N/A

    2. Biased? 0b1001 0000, 0b0110 1110

    3. Two’s Complement? 0b0001 0001, 0b1110 1111

    (d) What is the largest integer that can be represented by any encoding scheme

    that only uses 8 bits?

    There is no such integer. For example, an arbitrary 8-bit mapping could choose

    to represent the numbers from 1 to 256 instead of 0 to 255.

    (e) Prove that the two’s complement inversion trick is valid (i.e. that x and x+ 1

    sum to 0).

    Note that for any x we have x+x = 0b1 . . . 1. A straightforward hand calculation

    shows that 0b1 . . . 1 + 0b1 = 0.

    8bitsmeans28possible Sonny

    largestnumber1Bias As 127 128Two'scomplement has onepositiveZero ZerotakesUptheextrapositivenumber

    cannotrepresentunsignednumbers inunsignedX bias_n g o pas LKD427 1 1 427128 1 I LKDso X n bias

    272624442424 20 1281127 1or flipbots of lardasdin1716112424 opo.pro7lll1lllDtll1eht428lt4 oIooissetheunsignedS 17 27 2 5 24 ziti or 1110111011

    11101111

    Exc 17 i 41101111 I 00010000X15 1111 il l l t Xt I 1111 l l l l l l lees s eoolarea oo allzeros

  • Number Representation 3

    (f) Explain where each of the three radices shines and why it is preferred over

    other bases in a given context.

    Decimal is the preferred radix for human hand calculations, likely related to

    the fact that humans have 10 fingers.

    Binary numerals are particularly useful for computers. Binary signals are

    less likely to be garbled than higher radix signals, as there is more distance

    (voltage or current) between valid signals. Additionally, binary signals are quite

    convenient to design circuits, as well see later in the course.

    Hexadecimal numbers are a convenient shorthand for displaying binary numbers,

    owing to the fact that one hex digit corresponds exactly to four binary digits.

    3 Counting3.1 Bitstrings can be used to represent more than just numbers. In fact, we use bitstrings

    to represent everything inside a computer. And, because we don’t want to be wasteful

    with bits it is important to remember that n bits can be used to represent 2n distinct

    things. For each of the following questions, answer with the minimum number of

    bits possible.

    (a) How many bits do we need to represent a variable that can only take on the

    values 0, ⇡ or e?

    2

    (b) If we need to address 3 TiB of memory and we want to address every byte of

    memory, how long does an address need to be?

    42 bits

    (c) If the only value a variable can take on is e, how many bits are needed to

    represent it?

    12 a bit (or, alternatively, 0 bits) since 1 bit can di↵erentiate between two values

    I bit 2 options2 bits 4options

    TIB 240

    ILS t vCs s zzz so I 240 by 247 42Weneedto beableto

    this maysoundweirdsinceyouwouldneed a bit torepresentthisThereason 13 zero or 12 because youalways know Thevalues soyoudo not need abit to reprepresent this t since the variablecan take only one valve wedo notneedanybits to representthe singlevalve

  • ex convert from 10 7 Z Division

    i i

    toFinallygetSB AZero

    dfromWe usefloor division togettheremainder Renso This is general idea fromgoing

    fromhigher

    b 110110101 radix tolower radix

    Her 7gBinary Group into tonestzonvert directly

    Binary Hex 101028 12 10 A

    IE itIsAlternative for 437512 437 75 µ Iliff1000000000µ Iv o001001011000000000W 1801011 0110111101I I