Diferenças entre edições de "Inteiro (ciência da computação)"

m
Etiqueta: Inserção de predefinição obsoleta
 
== Valor e representação ==
O ''valor'' de um item com um tipo integral é o inteiro matemático ao qual ele corresponde. Os tipos integrais podem ser ''sem sinal'' (capazes de representar apenas números inteiros não negativos) ou ''com sinal'' (capazes de representar números inteiros negativos também).<ref>{{cite web |url=http://www.swarthmore.edu/NatSci/echeeve1/Ref/BinaryMath/NumSys.html |title=Representation of numbers |last=Cheever |first=Eric |publisher=Swarthmore College |access-date=2011-09-11}}</ref>
O valor de um dado armazenado com um tipo inteiro é o próprio número inteiro o qual ele corresponde. A representação do dado é a maneira como o valor é armazenado na [[memória de computador]]. Tipos de dados inteiros podem ter sinal ou não, o que determina se o tipo é capaz de representar números negativos (o sinal é essencial para tal).
 
Um valor inteiro é normalmente especificado no [[código-fonte]] de um programa como uma sequência de dígitos opcionalmente prefixados com + ou -. Algumas linguagens de programação permitem outras notações, como hexadecimal (base 16) ou octal (base 8). Algumas linguagens de programação também permitem [[Separador decimal#Agrupamento de dígitos|separadores de grupos de dígitos]].<ref>{{cite web|author=Madhusudhan Konda |url=http://radar.oreilly.com/2011/09/java7-features.html |title=A look at Java 7's new features - O'Reilly Radar |publisher=Radar.oreilly.com |date=2011-09-02 |access-date=2013-10-15}}</ref>
A representação mais comum de um inteiro positivo é uma cadeia de [[bit]]s, usando o [[Sistema binário (matemática)|sistema binário]]. A ordem dos bits varia de acordo com a [[arquitetura de computadores|arquitetura do sistema]] (pode ser ''[[little endian]]'' ou ''[[big endian]]''). A largura (ou precisão) de um tipo inteiro é a quantidade de bits disponíveis para a sua representação; <math>n</math> bits disponíveis podem codificar <math>2^n</math> números. Por exemplo, um tipo inteiro sem sinal com largura de oito bits (um [[byte]]) representa 256 números, de 0 a 255.
 
A ''representação interna'' desse dado é a forma como o valor é armazenado na memória do computador. Ao contrário dos inteiros matemáticos, um dado típico em um computador tem algum valor mínimo e máximo possível.
Existem três maneiras diferentes para representar números negativos em um sistema binário. A mais comum é o [[complemento de dois]], que permite a um tipo de dado inteiro com sinal de largura <math>n</math> representar números de <math>-2^{(n-1)}</math> a <math>2^{(n-1)}-1</math>. Essa aritmética é conveniente pois existe uma correspondência perfeita entre a representação e o valor, e porque as operações de [[adição]], [[subtração]] e [[multiplicação]] não precisam distinguir entre tipos sem sinal e tipos com sinal. Outras possibilidades são magnitude de sinal e complemento de um.
 
A representação mais comum de um número inteiro positivo é uma sequência de [[bit]]s, usando o [[sistema numérico binário]]. A ordem dos [[bytes]] de memória que armazenam os bits varia (veja [[Extremidade (ordenação)|extremidade]]. A ''largura'' ou ''precisão'' de um tipo integral é o número de bits em sua representação. Um tipo integral com ''n'' bits pode codificar 2<sup>''n''</sup> números; por exemplo, um tipo sem sinal normalmente representa os valores não negativos de 0 a 2<sup>''n''</sup>−1. Outras codificações de valores inteiros para padrões de bits são algumas vezes usadas, por exemplo, [[Codificação binária decimal|decimal codificado em binário]] ou [[código de Gray]], ou como códigos de caracteres impressos, como [[ASCII]].
 
Existem trêsquatro [[Representação de números com sinal|maneiras diferentesbem paraconhecidas de representar números negativoscom sinais]] em um sistema de computação binário. AO mais comum é o [[Complemento para dois|complemento de dois]], que permite aque um tipo de dado inteirointegral com sinal decom largura <math>''n</math>'' representarbits represente números de −2<mathsup>-2^{(''n-1''−1)}</mathsup> a 2<mathsup>2^{(''n-1''−1)}-1</mathsup>−1. EssaA aritmética de complemento de dois é conveniente poisporque existe uma [[Função bijectiva|correspondência um-para-um]] perfeita entre a representaçãorepresentações e ovalores valor(em particular, sem +0 e porque-0 asseparados), operaçõese deporque [[adição]], [[subtração]] e [[multiplicação]] não precisam distinguir entre tipos sem sinalcom e tipos comsem sinal. Outras possibilidades sãoincluem [[Offset binário|binário de deslocamento]], [[Representação de números com sinal#Método sinal-e-magnitude|magnitude de sinal]] e [[complemento de um]].
 
Algumas linguagens de computador definem tamanhos inteiros de forma independente da máquina; outras têm definições variadas dependendo do tamanho da palavra do processador subjacente. Nem todas as implementações de linguagem definem variáveis ​​de todos os tamanhos inteiros, e os tamanhos definidos podem nem mesmo ser distintos em uma implementação particular. Um número inteiro em uma [[linguagem de programação]] pode ter um tamanho diferente em uma linguagem diferente ou em um processador diferente.
 
== Exemplos comuns ==