# Data Representation: bits, bytes, integers

Download Data Representation: bits, bytes, integers

## Preview text

Data Representation: bits, bytes, integers

Yipeng Huang

Rutgers University

Feburary 11, 2021

1/26

Table of contents

Announcements Programming assignments Looking ahead

Bits and bytes Why binary Decimal, binary, octal, and hexadecimal Bitwise operations Representing characters

Integers and basic arithmetic Representing negative and signed integers

2/26

Programming assignments

Programming assignment 1

Due date extended to: 11:59pm Monday, February 15. Take good advantage of this opportunity. Familiarity with C is a vital foundation for this class and future classes. Code review discussion during week of February 22 - February 26.

Programming assignment 2

Released later today Thursday, February 11. Due after two weeks: February 25. Same techniques in programming C. Review of graph algorithms.

3/26

Looking ahead

Lecture plan

1. Today, Thursday, 2/11: Data representation of integers. 2. Tuesday, 2/16: Data representation of ﬂoating point numbers. 3. Thursday, 2/18: Data representation of ﬂoating point numbers.

Reading assignment

Computer Systems: A Programmer’s Perspective Chapter 2.

4/26

Table of contents

Announcements Programming assignments Looking ahead

Bits and bytes Why binary Decimal, binary, octal, and hexadecimal Bitwise operations Representing characters

Integers and basic arithmetic Representing negative and signed integers

5/26

Why binary

6/26

Why binary

Figure: Rahul Sarpeshkar. Analog Versus Digital: Extrapolating from Electronics to Neurobiology. 1998.

7/26

Why binary

Digital encodings

Each doubling of either precision or range only needs one additional bit.

Analog encodings

Each doubling of either precision or range needs doubling of either area or power.

8/26

Decimal, binary, octal, and hexadecimal

Decimal 0 1 2 3 4 5 6 7

Binary 0b0000 0b0001 0b0010 0b0011 0b0100 0b0101 0b0110 0b0111

Octal 0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7

Hexadecimal 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7

Decimal 8 9 10 11 12 13 14 15

In C, format speciﬁers for printf() and fscanf(): 1. decimal: ’%d’ 2. binary: none 3. octal: ’%o’ 4. hexadecimal: ’%x’

Binary 0b1000 0b1001 0b1010 0b1011 0b1100 0b1101 0b1110 0b1111

Octal 0o10 0o11 0o12 0o13 0o14 0o15 0o16 0o17

Hexadecimal 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF

9/26

Decimal, binary, octal, and hexadecimal

How to represent the range of unsigned char in each?

Unsigned char is one byte, 8 bits. 1. decimal: 0 to 255 2. binary: 0b0 to 0b11111111 3. octal: 0 to 0o377 (group by 3 bits) 4. hexadecimal: 0x00 to 0xFF (group by 4 bits)

10/26

Yipeng Huang

Rutgers University

Feburary 11, 2021

1/26

Table of contents

Announcements Programming assignments Looking ahead

Bits and bytes Why binary Decimal, binary, octal, and hexadecimal Bitwise operations Representing characters

Integers and basic arithmetic Representing negative and signed integers

2/26

Programming assignments

Programming assignment 1

Due date extended to: 11:59pm Monday, February 15. Take good advantage of this opportunity. Familiarity with C is a vital foundation for this class and future classes. Code review discussion during week of February 22 - February 26.

Programming assignment 2

Released later today Thursday, February 11. Due after two weeks: February 25. Same techniques in programming C. Review of graph algorithms.

3/26

Looking ahead

Lecture plan

1. Today, Thursday, 2/11: Data representation of integers. 2. Tuesday, 2/16: Data representation of ﬂoating point numbers. 3. Thursday, 2/18: Data representation of ﬂoating point numbers.

Reading assignment

Computer Systems: A Programmer’s Perspective Chapter 2.

4/26

Table of contents

Announcements Programming assignments Looking ahead

Bits and bytes Why binary Decimal, binary, octal, and hexadecimal Bitwise operations Representing characters

Integers and basic arithmetic Representing negative and signed integers

5/26

Why binary

6/26

Why binary

Figure: Rahul Sarpeshkar. Analog Versus Digital: Extrapolating from Electronics to Neurobiology. 1998.

7/26

Why binary

Digital encodings

Each doubling of either precision or range only needs one additional bit.

Analog encodings

Each doubling of either precision or range needs doubling of either area or power.

8/26

Decimal, binary, octal, and hexadecimal

Decimal 0 1 2 3 4 5 6 7

Binary 0b0000 0b0001 0b0010 0b0011 0b0100 0b0101 0b0110 0b0111

Octal 0o0 0o1 0o2 0o3 0o4 0o5 0o6 0o7

Hexadecimal 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7

Decimal 8 9 10 11 12 13 14 15

In C, format speciﬁers for printf() and fscanf(): 1. decimal: ’%d’ 2. binary: none 3. octal: ’%o’ 4. hexadecimal: ’%x’

Binary 0b1000 0b1001 0b1010 0b1011 0b1100 0b1101 0b1110 0b1111

Octal 0o10 0o11 0o12 0o13 0o14 0o15 0o16 0o17

Hexadecimal 0x8 0x9 0xA 0xB 0xC 0xD 0xE 0xF

9/26

Decimal, binary, octal, and hexadecimal

How to represent the range of unsigned char in each?

Unsigned char is one byte, 8 bits. 1. decimal: 0 to 255 2. binary: 0b0 to 0b11111111 3. octal: 0 to 0o377 (group by 3 bits) 4. hexadecimal: 0x00 to 0xFF (group by 4 bits)

10/26

## Categories

## You my also like

### Representing and Manipulating Information: Bits, Ints, and Ops

455.7 KB8.5K4.2K### Number representation (Decimal)

132.3 KB40K7.6K### Binary Representation and Strings

2.6 MB35.7K16.4K### CPS311 Lecture: Representing Information in Binary Last

136.1 KB18.3K4.8K### Conversion of Binary, Octal and Hexadecimal Numbers

28.6 KB51K6.1K### CPS311 Lecture: Representing Information in Binary

158.5 KB9.1K3.8K### Number Base Conversion

237.5 KB14.4K2K### Finite and infinite arithmetic progressions in sumsets

725.9 KB57.3K9.7K### Implementation Of Arithmetic And Logic Circuits Using Mentor

912.2 KB29.8K12.8K