Embedded Systems
  • Microcontroladores e Sistemas Embarcados
  • Introdução aos sistemas embarcados
  • Sistemas Microcontrolados
    • Visão geral da organização de um sistema computacional
    • Modelos de Arquitetura
    • Estrutura básica de um microcontrolador genérico
  • Periféricos Mapeados em Memória
    • Configuração de Registradores
  • Programação
    • Programação em Linguagem de Montagem
    • Compilação
  • Intel MSC-51
    • Arquitetura e Organização do 8051
    • Características Gerais de Operação
    • Mapa de Memória
    • Conjunto de Instruções e Modos de Endereçamento
    • Interrupções
    • Portas de Entradas/Saídas Digitais
    • Módulo Contador/Temporizador
    • Comunicação Serial Assíncrona
  • Processadores Cortex-M0+
    • Arquitetura
    • Sistema de interconexão
    • Arquitetura do Conjunto de Instruções (ISA)
    • Modos de operação
    • Programação
      • Keil uVision
  • Freedom Board: KL25Z
    • Família de microcontroladores KL25Z
    • Terminais do microcontrolador
    • Interface de configuração
    • Programação
      • Keil uVision
      • Chamada de funções em Assembly
      • Configuração de Registradores em C
      • Utilizando o CMSIS nas aplicações
  • Dicionário
  • Apêndice A: Sistemas de Numeração
  • [Em desenvolvimento] Apêndice B: Números Sinalizados
Powered by GitBook
On this page

[Em desenvolvimento] Apêndice B: Números Sinalizados

PreviousApêndice A: Sistemas de Numeração

Last updated 6 years ago

CtrlK

Números binários sinalizados

Qualquer número pode ser representado no sistema binário. Para os casos em que é necessário representar números inteiros sinalizados, o bit mais significativo do número binário é utilizado para indicar se o número é positivo ou negativo. As formas mais comuns de representação são: sinal-magnitude e complemento a dois.

Representação em sinal-magnitude

A forma mais simples de representar números binários sinalizados é utilizando o sinal-magnitude. Este tipo de representação utiliza o bit mais significativo para determinar o sinal, se o bit tem valor 1 então o número é negativo, caso contrário, positivo. Por exemplo, considere o valor 2 representado com 5 bits (4 bits para representar o valor e 1 bit para o sinal).

Embora simples, a representação sinal-magnitude traz uma série de desvantagens. Uma é que existem duas representações para o valor zero, isto é, um zero positivo e outro negativo.

Outra desvantagem é que operações aritméticas realizadas em hardware exigem um esforço a mais para determinar os sinais dos números.

Devido a essas desvantagens hoje em dia essa representação não é mais utilizada, em vez disso, todos os computadores atuais utilizam a representação de complemento a dois.

Representação em complemento a 2

Na representação em complemento a 2 os problemas relacionados a representação do valor zero e a de determinação dos sinais dos números são eliminadas. Para saber se um número é negativo ou positivo basta testar o bit mais significativo, se o valor é 1 então o número é negativo, caso contrário, positivo. A forma como os bits são interpretados nessa representação difere do sinal-magnitude. Assim, o bit mais significativo representa o valor . Retomando o exemplo do número zero, tem-se que:

Por exemplo, considere o valor 2 representado com 5 bits (4 bits para representar o valor e 1 bit para o sinal).

A partir do diagrama[1] mostrado abaixo é possível verificar que a representação por complemento a dois possui um número negativo () que não possui um número positivo correspondente, contudo essa característica não é inconveniente quando comparada as desvantagens da representação por sinal-magnitude.

1000 0001001000110100010101100111+0-81111-4+4-1-2-31110-5-6-7+1+2+3+51101+6+711000000101110101001

Portanto, a faixa de valores que um número sinalizado pode apresentar é de até .