Computadores II: Bits e Bytes

Documentos relacionados
I n f o r m á t i c a

ARQUITETURA DE COMPUTADORES - CONCEITUAL

Computadores XII: Aprendendo a Somar A4 Texto 3

ARQUITETURA DE COMPUTADORES

Aula 2 Sistemas de Numeração (Revisão)

ARQUITETURA DE COMPUTADORES

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

B. Piropo. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

EFA / S13 SIS Ricardo Castanhinha / Nº STC / Formadoras Alexandra Formosinho & Isabel Carvalho. Sistema Binário

Unidade 5: Sistemas de Representação

Sistemas de Numeração

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 12

Curso de Hardware Aula 01 Tema: Sistema de Medidas Por: Edmilson de Oliveira Reis Revisado em: 02/03/2012

Aula 3 - Sistemas de Numeração

Algoritmos DCC 119. Introdução e Conceitos Básicos

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano

Fundamentos de Hardware

Notas de Cálculo Numérico

Hit dos Bits. Série Matemática na Escola

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

05/04/2013. Para efetuar medidas é necessário fazer uma padronização, escolhendo unidades para cada grandeza.

Montagem e Manutenção. Luís Guilherme A. Pontes

Sistemas de numeração e conversão de bases Conversões;bit e byte (conceituação)

O matemático indiano Pingala apresentou a primeira descrição conhecida de um sistema numérico binário no século III a.c..

Sistema de Numeração e Códigos. CPCX UFMS Prof. Renato F. dos Santos

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Profa. Dra. Amanda Liz Pacífico Manfrim Perticarrari

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 06

Hardware Básico. - Conceitos Básicos - Números Binários - Principais Componentes. Professor: Wanderson Dantas

INFORMÁTICA PARA ADMINISTRAÇÃO I

Prof. Célio Conrado 1

Exercícios Teóricos Resolvidos

Sistema de Numeração

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Programação de Computadores

Capítulo 9: Codificação. Prof.: Roberto Franciscatto

Informática. Prof. Macêdo Firmino. Macêdo Firmino (IFRN) Informática Setembro de / 16

Hardware de Computadores

Resolvendo problemas com logaritmos

TEXTO DE REVISÃO: Uso da calculadora científica e potências de 10.

centena dezena unidade

Prof. Orlando Rocha. Qual o nosso contexto atual?

Aula 2 Modelo Simplificado de Computador

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Aula 01 Introdução à Informática. Prof. Bruno Gomes

Trabalho compilado da Internet Prof. Claudio Passos. Sistemas Numéricos

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

DISPOSITIVOS DE BLOCO. Professor: João Paulo de Brito Gonçalves

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Fração como porcentagem. Sexto Ano do Ensino Fundamental. Autor: Prof. Francisco Bruno Holanda Revisor: Prof. Antonio Caminha M.

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO SUL CAMPUS CAXIAS DO SUL

SISTEMAS DIGITAIS Prof. Ricardo Rodrigues Barcelar

1. NÍVEL CONVENCIONAL DE MÁQUINA

Sistemas de Numeração. Professor: Rogério R. de Vargas INFORMÁTICA 2014/2

Sistemas de Numeração

Memórias. O que são Memórias de Semicondutores? São componentes capazes de armazenar informações Binárias (0s e 1s)

Contando os Pontos Números Binários

Sistema de Numeração e Conversão entre Sistemas. Prof. Rômulo Calado Pantaleão Camara. Carga Horária: 60h

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação

1. Sistemas de numeração

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

CAPÍTULO I. UNIVERSIDADE FEDERAL DE UBERLÂNDIA FACULDADE DE ENGENHARIA ELÉTRICA Apostila de Eletrônica Digital. Sistemas de Numeração. 1.

TIC TECNOLOGIAS DA INFORMAÇÃO (TI) TECNOLOGIAS ORIGEM DA PALAVRA

Introdução à estrutura e funcionamento de um Sistema Informático

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

Usando o do-file editor Automatizando o Stata

Informática Aplicada à Química. Sistemas de Numeração Representação de Dados

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Sistemas de Numerações.

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 13

Computador HIPO. Inicialmente vamos apresentar as unidades fundamentais de um computador:

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Objetivo principal: aprender como definir e chamar funções.

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Morfologia Matemática Binária

49,36 10 =

INFORmação. O que é um Computador?

2. Representação Numérica

Resolução de sistemas lineares

Falso: F = Low voltage: L = 0

Chama-se sistema informatizado a integração que

20 Caracteres - Tipo char

Tudo o que você precisa saber sobre cartões de memória

Amplificadores, Falantes, Caixas Acústicas e uma tal de Impedância Parte 1

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Eventos independentes

TONALIDADE X FREQUÊNICA

Capítulo 2. Numéricos e Códigos Pearson Prentice Hall. Todos os direitos reservados.

Potenciação no Conjunto dos Números Inteiros - Z

Tecnologia da Informação. Prof Odilon Zappe Jr

Transcrição:

Computadores II: Bits e Bytes A1 Texto 2 http://www.bpiropo.com.br/fpc20050627.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 27/05/2005 Autor: B.Piropo Sistemas numéricos posicionais Pode-se escrever um livro sobre esse tema. Mas um livro não caberia aqui. Por outro lado, não dá para discutir computadores sem abordar a forma pela qual internamente eles lidam com números e as razões dessa forma ter sido adotada. Então vamos abordar o assunto de forma extremamente superficial, apenas tangenciando os conhecimentos estritamente necessários para continuarmos nossa viagem pelo interior dos computadores. Todo o mundo sabe o que são números. O que pouca gente sabe é definir o que é um número. Segundo a definição corrente, baseada na teoria dos conjuntos, número é o conjunto de todos os conjuntos equivalentes entre si. Então, o número cinco, por exemplo, é o conjunto de todos os conjuntos de cinco elementos. A definição pode ser um tanto complicada, mas afinal, o conceito de número está bem arraigado em nossas consciências. Se precisarmos de uma definição mais compreensível (embora menos correta do ponto de vista teórico) sempre podemos usar o conceito vulgar: um número é aquilo que exprime uma quantidade de qualquer coisa. Ou algo parecido... Já um sistema numérico é uma forma sistemática de representar números, uma definição mais fácil de entender. Há diversas formas de fazer isso. Nos interessam especificamente os sistemas numéricos posicionais. Um sistema numérico posicional é aquele em que o valor do algarismo ou numeral (representação gráfica ou símbolo de um número inferior à base) depende da posição deste algarismo no interior da representação do número (conjunto de algarismos). O sistema numérico que usamos correntemente, o sistema decimal (que adota a base dez), é posicional. Por exemplo: no número 32.524 do sistema decimal, o primeiro algarismo 2 (contando a partir da direita) vale vinte unidades, enquanto o segundo vale duas mil unidades. Seus valores variam devido à posição que ocupam na representação do número. A razão disso é que, em um sistema numérico posicional como o sistema decimal, cada algarismo (ou numeral ) tem um valor igual ao do próprio algarismo multiplicado pela base elevada à posição ocupada pelo número. As posições são numeradas da direita para a esquerda a partir de zero. Então, sempre lembrando que o sistema decimal usa a base dez, consegue-se o valor do número 32.524 somando as seguintes parcelas (obtidas considerando os algarismos tomados da direita para a esquerda): 4 multiplicado por 10 (base) elevado à potência 0 (posição 0) = 4 x 1 = 4 2 multiplicado por 10 (base) elevado à potência 1 (posição 1) = 2 x 10 = 20 5 multiplicado por 10 (base) elevado à potência 2 (posição 2) = 5 x 100 = 500 2 multiplicado por 10 (base) elevado à potência 3 (posição 3) = 2 x 1.000 = 2.000 3 multiplicado por 10 (base) elevado à potência 4 (posição 4) = 3 x 10.000 = 30.000

A soma, naturalmente, resulta em 32.524. E basta reparar a forma pela qual o número dez foi utilizado na obtenção do valor do número para entender porque ele é a base do sistema numérico. Pode-se usar qualquer número como base para criar um sistema numérico posicional. Basta seguir a regra acima delineada: obtém-se o valor do número multiplicando-se o valor de cada numeral pela base elevada à posição ocupada por ele e somando todas as parcelas. E se você reparar, vai descobrir que outras bases foram usadas na história da humanidade. O agora quase abandonado sistema inglês de medidas, onde um pé vale doze polegadas e um jarda vale doze pés, é indício do uso de um sistema numérico de base doze. Assim como o fato de até hoje bananas serem vendidas às dúzias e a existência do valor grosa (144, ou doze dúzias). E os nomes dos números em francês, onde oitenta é quatre-vignts (quatro vintes) e 78 é soixante-dix-huit (sessenta e dezoito) são pistas seguras de que algum dia se usou um sistema de base vinte. Na verdade, ao que parece, a única razão para usarmos o sistema decimal é o fato de termos dez dedos nas mãos e a maioria de nós haver aprendido a contar com eles (em ambos os sentidos). Mas qualquer outro número pode ser usado como base. Desde que se observe um detalhe: um sistema de base X precisará de X algarismos (ou numerais ) para representar os números. Assim, o sistema decimal usa dez algarismos (de zero a nove), o sistema de base oito adotará oito (de zero a sete) e o sistema de base dezesseis, muito usado em informática, necessitará de dezesseis algarismos (os mesmos zero a nove do sistema decimal ao qual se agregaram os símbolos A, B, C, D E e F para representar os algarismos de dez a quinze). Ora, se pode-se usar qualquer número como base, e dois é um número como qualquer outro, também ele pode ser usado como base de um sistema numérico posicional. E de fato o é. O sistema numérico posicional de base dois chama-se sistema binário e utiliza, naturalmente, apenas dois algarismos, o zero e o um. Sistema binário; bits e bytes Computadores são constituídos internamente por circuitos elétricos ou eletrônicos. A grande maioria dos componentes de circuitos elétricos podem assumir apenas um dentre dois estados. Por exemplo: interruptores (ou transistores, se usados como chaveadores de corrente ) podem estar fechados ou abertos; capacitores podem estar carregados ou descarregados; lâmpadas podem estar acesas ou apagadas; circuitos podem estar energizados ou desenergizados; e assim por diante. Se estabelecermos que um desses estados representa o um e que o outro representa o zero, tais dispositivos podem ser usados para representar números expressos no sistema binário, o sistema numérico posicional de base dois que usa apenas os algarismos, um e zero. O uso do sistema binário Imagine, por exemplo, que se deseja representar, neste sistema numérico, o número dez mediante um conjunto de lâmpadas, onde uma lâmpada acesa representa o algarismo 1 e uma lâmpada apagada o algarismo 0. No sistema binário, o número dez assume a forma 1010 (para acompanhar este raciocínio basta saber que qualquer número pode ser expresso na base dois usando apenas os algarismos 1 e 0 ; portanto, mesmo que você não saiba fazer a conversão de números do sistema decimal para o binário, acredite que

dez em binário é 1010 e siga adiante). Portanto, para representar o número dez bastam quatro lâmpadas uma ao lado da outra, a da esquerda acesa, sua vizinha apagada, a seguinte acesa e a última da direita apagada, na configuração 1010. É claro que isto pode ser feito igualmente usando interruptores fechados e abertos, circuitos energizados e desenergizados ou capacitores carregados e descarregados (na verdade, alguns circuitos de memória usados nos computadores empregam capacitores microscópicos para armazenar valores binários). A Figura 1 mostra a soma de dois números representada por lâmpadas (que, por sua vez, representam os dígitos binários 1 e 0 em seus estados acesa e apagada ), no sistema binário e no sistema decimal. Figura 1: Soma de dois números [FPC_AC20050627a.jpg] Quaisquer dispositivos que podem assumir um dentre dois estados possíveis podem ser utilizados para representar quantidades expressas no sistema binário. Computadores lidam apenas com grandezas numéricas. E qualquer valor numérico pode ser expresso em qualquer sistema numérico posicional, inclusive no sistema binário ou de base 2. Como esse sistema usa apenas dois algarismos e os dispositivos que constituem os computadores podem representar com facilidade esses dois algarismos, ele é o sistema adotado pelos computadores para o processamento de dados. A característica mais notável deste sistema numérico é a utilização exclusiva dos algarismos 1 e 0, os chamados dígitos binários para exprimir todas as quantidades e todos os valores de quaisquer variáveis usando uma combinação de um determinado número de dígitos binários, ou seja, usando apenas os algarismos 1 e 0 (é por isso que uma célula de memória precisa armazenar apenas esses dois valores). O uso exclusivo dos algarismos 1 e 0 nos circuitos internos dos computadores pode levar a crer que eles apenas servem para resolver problemas muito específicos, cujas grandezas de entrada e saída assumam apenas dois valores e que portanto sua utilização há de ser extremamente limitada. Esta conclusão é falsa. Na verdade, toda e qualquer grandeza do mundo real, desde as cores e posições dos pontos que formam a imagem da Mona Lisa, os compassos, timbres e notas musicais que compõem a Ária da Quarta Corda, o conjunto de caracteres que consubstanciam a Divina Comédia até a sucessão ordenada de aminoácidos que formam o DNA dos seres vivos, em suma: toda e qualquer criação humana ou da natureza, seja ela qual for, pode ser codificada e representada (com maior ou menor precisão) sob a forma de um conjunto de números. E estes números podem ser expressos no sistema binário. O processo de conversão das grandezas do mundo real em quantidades expressas no sistema binário chama-se digitalização (por exemplo: o

dispositivo denominado escaner nada mais é que um digitalizador de imagens, enquanto o processo de gravação de um CD de áudio é a digitalização de sons) e será discutido mais adiante. É por isso que o computador é uma máquina tão versátil e se presta a atividades tão disparatadas como calcular, escrever, desenhar, reproduzir músicas ou vídeo. Com um computador é possível pintar e bordar. Inclusive literalmente... Bits e bytes Um dígito binário, então, é um algarismo do sistema numérico de base dois (há apenas dois: zero e um ). Em inglês, dígito binário é binary digit, cuja contração produz bit. Um bit, portanto, nada mais é que um dígito binário, um algarismo do sistema numérico posicional de base 2. O bit é a menor unidade de dado (ou informação) que pode ser armazenada em um computador. Parece pouco, mas ainda assim essa quantidade mínima de informação tem algumas aplicações práticas (especialmente se associada a seus valores lógicos verdadeiro e falso, respectivamente). Mas, evidentemente, não se pode fazer muito processando valores de um único bit. Na linguagem humana escrita a menor unidade de informação é uma letra, ou caractere. Letras isoladas, como f ou S, não podem representar muita coisa, mas a combinação de algumas delas pode significar muito, como amor, vida, alma. Embora computadores sejam máquinas que trabalhem internamente apenas com grandezas numéricas, de longe sua utilização mais freqüente é trabalhar com texto (este texto foi produzido com a ajuda de um computador e provavelmente você o está lendo com a ajuda de outro). Portanto uma das primeiras preocupações dos programadores de computadores foi desenvolver um método de codificar numericamente os caracteres, ou seja, exprimi-los sob a forma de números binários (ou digitalizá-los ) de tal forma que fosse entendido por todos os computadores, mesmo os de diferentes fabricantes. Em suma: um método padronizado. Para exprimir todos os caracteres do alfabeto, precisamos usar números (binários, evidentemente) de quantos bits? Vejamos. O alfabeto usado no idioma português tem 23 letras. O do idioma inglês, 26 (as mesmas 23 mais o K, o W e o Y ). Como o computador diferencia maiúsculas de minúsculas, é necessário o dobro disso, 52 códigos, para exprimi-las todas. Incluindo os algarismos 0 a 9, chegaríamos a 62 códigos. Então bastariam os números de zero a 61 para exprimir todas as letras maiúsculas, minúsculas e algarismos. Em binário, 61 é expresso por 111101, um número de seis bits. Se um número de seis bits é suficiente para exprimir o maior dos códigos necessários, então é suficiente para exprimir todos os outros. Logo, bastam seis bits para exprimir todos os caracteres do alfabeto mais os dez algarismos do sistema decimal. Mas isso não é o suficiente para trabalhar com texto. Além das letras, há os sinais gráficos como ponto, vírgula, acentos, sinais de exclamação e interrogação, etc. E caracteres acentuados (para um computador a palavra é não é constituída de dois caracteres, a letra e minúscula com um acento agudo sobre ela, mas sim de um único caractere que nada tem a ver com os dois anteriormente citados). Juntando tudo isso com alguns códigos de controle (como mudança de linha), símbolos, como @ e outros, a IBM propôs um código

capaz de exprimir 128 elementos. Esse código usava sete bits mas não continha diversos caracteres acentuados e símbolos de uso corrente, que foram acrescentados posteriormente, assim como alguns usados para desenhar linhas e molduras, totalizando 256 elementos que poderiam ser expressos por números de oito bits. Essa representação foi adotada como padrão nos EUA e posteriormente em todo o mundo com o nome de ASCII, sigla de American Standard Code for Information Interchange, ou Código Americano Padrão para Intercâmbio de Informações, o conhecido código ASCII. Devido, sobretudo, à adoção do código ASCII (além de outras razões ligadas à fabricação de microprocessadores; por exemplo: na época em que o código ASCII foi adotado, a maioria dos microprocessadores usavam posições de memórias internas ou registradores capazes de armazenar oito bits), valores expressos em binário com oito algarismos passaram a ser usados para diversas finalidades, adquirindo importância suficiente para receber designação própria. A eles foi dado o nome de byte. Um byte é então qualquer número binário expresso com oito algarismos, ou oito bits. O maior valor que um byte pode assumir é 11111111 (todos os oito bits valendo um ) que, convertido para o sistema numérico decimal, vale 255 (como veremos ao discutir a conversão de valores entre sistemas numéricos). O menor valor que pode ser assumido por um byte é 00000000 que, evidentemente, vale zero no sistema decimal. O número total de códigos que podem ser expressos por um byte é 256 (de zero a 255), Note que um byte nada tem de especial, é apenas um número binário de oito algarismos. Sua importância na informática deriva apenas do fato do código ASCII haver adotado números de oito bits, além de razões meramente construtivas ou operacionais. Por exemplo: os códigos enviados a impressoras para controlar a impressão têm oito bits, os valores trocados pelos modems entre computadores também, assim como diversas outras operações elementares de intercâmbio de informações. Além disso, memórias costumam ser organizadas de tal forma que as operações de leitura e escrita são feitas com quantidades de um byte ou de um múltiplo de bytes (oito, dezesseis, trinta e dois, sessenta e quatro ou cento e vinte e oito bits o que corresponde a um, dois, quatro, oito e dezesseis bytes, respectivamente). Múltiplos do byte Como memórias, tradicionalmente, são organizadas de forma que sejam lidos ou escritos um byte ou um número par de bytes em cada operação de leitura ou escrita, adotou-se como norma exprimir a capacidade de armazenamento de memórias em bytes ou em seus múltiplos. Os múltiplos do byte mais usados para exprimir capacidade de armazenamento ou taxas de transferência de dados são quilobyte (KB), megabyte (MB), gigabyte (GB) e terabyte (TB). Em princípio, levando-se em conta o uso padronizado dos prefixos quilo, mega, giga e tera no sistema decimal, o prefixo quilo deveria indicar mil bytes e cada um dos demais o anterior multiplicado por mil. Infelizmente, em informática, as coisas são um pouco mais complicadas. Os prefixos acima foram concebidos para exprimirem potências inteiras da base no sistema numérico de base dez. Assim, o prefixo quilo corresponde a mil vezes a unidade, ou 10 3, mega corresponde a um milhão, ou 10 6, giga a um bilhão, ou 10 9 e tera a um trilhão, ou 10 12.

Ora, o sistema binário usa a base 2. Ocorre que potências inteiras de dez não correspondem a potências inteiras de dois. Por exemplo: mil, expresso em binário, fica 1111101000, não exatamente aquilo que podemos considerar um número redondo (ou, em linguagem menos popular, uma potência inteira da base). Em contrapartida, o número mais próximo a 1.000 que leva à uma potência inteira de dois é 1.024 (que corresponde a 2 10 ), que expresso em binário fica 10000000000, tornando muito mais fácil efetuar cálculos com ele (em binário, naturalmente). Em razão disso, decidiu-se que um quilobyte, ou 1 KB, corresponde a 1.024 bytes, e não a 1.000 como seria de esperar. Pela mesma razão o prefixo mega, em vez de corresponder a 1.000 x 1.000, corresponde na realidade a 1.024 x 1.024 (ou 2 20 ), o que faz com que 1MB valha 1.048.576 bytes (e não um milhão de bytes). Fenômeno idêntico ocorre com o gigabyte (1GB = 1.073.741.824 bytes, ou 2 30 ) e com o terabyte (1TB = 1.099.511.627.776, ou 2 40 ). Esses valores são usados na informática para exprimir, entre outras grandezas, o número de bytes transferidos entre dispositivos na unidade de tempo (taxas de transferência de dados) e capacidades de dispositivos de memória, interna (memória principal, ou memória RAM) ou externa (discos rígidos e similares). No que toca à memória interna não há muita controvérsia e geralmente o critério acima é respeitado. Se o fabricante de um microcomputador informa que a máquina tem, digamos, 256 MB de memória principal, pode-se confiar que sua capacidade de memória seja de 256 x 1.024 x 1.024, ou 268.435.456 bytes. Mas, infelizmente, o mesmo não ocorre no que toca à memória externa, ou memória secundária, em geral constituída por discos magnéticos, ou discos rígidos. Nessa indústria, os fabricantes costumam calcular a capacidade pelos critérios acima descritos usados na informática, mas ao anunciá-la, arredondam para o valor mais próximo do sistema decimal. Um exemplo: digamos que a capacidade de um disco rígido seja de 37 GB calculados como o usual em informática, ou seja, de 37 x (1.024) 3 = 39.728.447.488 bytes. Essa é a capacidade real. Mas, ao anunciar o produto, o fabricante arredonda o valor para 40 bilhões e declara que a capacidade de seu disco rígido é de 40 GB, um número ligeiramente maior que os 37 GB reais. Uma artimanha duvidosa do ponto de vista técnico, mas altamente vantajosa do ponto de vista comercial. Portanto, cuidado. Quando lidar com múltiplos de bytes, verifique se foram calculados usando o critério adotado correntemente na informática, ou seja, que usa para os prefixos quilo, mega, giga e tera potências inteiras da base 2 (ou múltiplos de 1024), ou se usaram o critério comercial, que adota potências de dez. Em certos casos, pode fazer diferença.