Manipulação de bits

Prof. Marcelo Cohen

09/2014

Manipulação de bits

Versão para impressão


Manipulação de bits


Revisando bases numéricas


Revisando bases numéricas


Revisando bases numéricas

Decimal


Revisando bases numéricas

Binário (base 2)


Revisando bases numéricas

Hexadecimal (base 16)

Dec Bin Hex Dec Bin Hex
0 0000 0 8 1000 8
1 0001 1 9 1001 9
2 0010 2 10 1010 A
3 0011 3 11 1011 B
4 0100 4 12 1100 C
5 0101 5 13 1101 D
6 0110 6 14 1110 E
7 0111 7 15 1111 F

Revisando bases numéricas

Hexadecimal (cont.)


Revisando bases numéricas

De hex para decimal

{@class=center}hex2dec
{@class=center}hex2dec

Exercício: experimentando com conversões de base


Exercício: experimentando com conversões de base


Exercício: experimentando com conversões de base


Exercício: experimentando com conversões de base


Usando bases numéricas em C


Entendendo o armazenamento de dados em C


Operadores bitwise


Operadores bitwise


Operadores bitwise lógicos


AND bitwise

Descrição Valor
entrada 1 01001010
entrada 2 10010010
resultado 00000010

OR bitwise

Descrição Valor
entrada 1 01001010
entrada 2 10010010
resultado 11011010

XOR bitwise

Descrição Valor
entrada 1 01001010
entrada 2 10010010
resultado 11011000

NOT bitwise

Descrição Valor
entrada 01001010
resultado 10110101

Operadores de deslocamento (shifting)


Shift para a esquerda

{@class=float-right}leftshift
{@class=float-right}leftshift

Shift para a direita

{@class=float-right}rightshift
{@class=float-right}rightshift

Exercício


Campos de bit


Campos de bit


Primeira solução


Segunda solução


Operações comuns


Armazendo um valor em um campo de bits


Zerando um campo de bits


Zerando um campo de bits


Armazenando em um campo de bits


Armazenando em um campo de bits


Exercícios

  1. Crie um programa completo que defina uma varíavel colour como um unsigned int