Inteiro (ciência da computação)

diferentes CPUs suportam diferentes tipos de dados integrais. Tipicamente, hardware irá suportar tanto os tipos assinados e não assinados, mas apenas um pequeno conjunto fixo de larguras.

a tabela acima lista larguras de tipo integral que são suportadas em hardware por processadores comuns. As linguagens de programação de alto nível oferecem mais possibilidades. É comum ter um tipo integral de ‘largura dupla’ que tem o dobro de bits como o maior tipo suportado por hardware., Muitas linguagens também têm tipos de bit-field (um número especificado de bits, geralmente limitado a ser menor do que a largura máxima suportada por hardware) e tipos de intervalo (que podem representar apenas os inteiros em um intervalo especificado).

algumas linguagens, como Lisp, Smalltalk, REXX, Haskell, Python e Raku suportam inteiros de precisão arbitrária (também conhecidos como inteiros de precisão infinita ou bignums)., Outras linguagens que não suportam este conceito como uma construção de alto nível podem ter bibliotecas disponíveis para representar números muito grandes usando arrays de variáveis menores, como a classe BigInteger de Java ou o pacote “bigint” de Perl. Estes usam tanto da memória do computador quanto é necessário para armazenar os números; no entanto, um computador tem apenas uma quantidade finita de armazenamento, então eles também podem representar apenas um subconjunto finito dos inteiros matemáticos. Estes esquemas suportam números muito grandes, por exemplo, um quilobyte de memória poderia ser usado para armazenar números até 2466 dígitos decimais de comprimento.,

Um tipo booleano ou bandeira é um tipo que pode representar apenas dois valores: 0 e 1, geralmente identificado com falso e verdadeiro, respectivamente. Este tipo pode ser armazenado na memória usando um único bit, mas é muitas vezes dado um byte completo para a conveniência de endereçamento e velocidade de acesso.

uma quantidade de quatro bits é conhecida como uma mordidela (ao comer, sendo menor que uma mordidela) ou uma mordidela (sendo um trocadilho na forma da palavra byte). Uma mordidela corresponde a um dígito em hexadecimal e possui um dígito ou um código de sinal em código binário decimal.,

Bytes e octetsEdit

artigos principais: Byte e Octet (computação)

o termo byte significava inicialmente “a menor unidade endereçável de memória”. No passado, 5-, 6-, 7-, 8-, e bytes de 9 bits foram todos usados. Existem também computadores que podem endereçar bits individuais (“máquina endereçada a bits”), ou que só podem endereçar quantidades de 16 ou 32 bits (“máquina endereçada a palavra”). O termo byte geralmente não era usado em tudo em conexão com máquinas endereçadas a bits e palavras.

O termo octeto refere-se sempre a uma quantidade de 8 bits., É usado principalmente no campo da rede de computadores, onde computadores com diferentes larguras de byte podem ter que se comunicar.

no uso moderno byte quase invariavelmente significa oito bits, uma vez que todos os outros tamanhos caíram em desuso; assim byte tornou-se sinônimo de octeto.

WordsEdit

artigo principal: Word (computer architecture)

praticamente todos os novos processadores de desktop são capazes de usar palavras de 64 bits, embora processadores embutidos com tamanho de palavras de 8 e 16 bits ainda são comuns. O comprimento de palavra de 36 bits era comum nos primeiros dias dos computadores.,

uma causa importante da não portabilidade do software é a suposição incorreta de que todos os computadores têm o mesmo tamanho de palavra que o computador usado pelo programador. Por exemplo, se um programador usando a linguagem C declara incorretamente como int uma variável que será usada para armazenar valores superiores a 215-1, o programa vai falhar em computadores com inteiros de 16 bits. Essa variável deveria ter sido declarada como longa, que tem pelo menos 32 bits em qualquer computador., Os programadores também podem assumir incorretamente que um ponteiro pode ser convertido para um inteiro, sem perda de informações, que podem funcionar em (alguns) computadores de 32 bits, mas falhar em computadores de 64 bits com ponteiros de 64 bits e de 32 bits inteiros. Esta questão é resolvida pelo C99 em stdint.h sob a forma de intptr_t.

integerEdit curto

um inteiro curto pode representar um número inteiro que pode ter menos armazenamento, enquanto tem um intervalo menor, em comparação com um inteiro padrão na mesma máquina.

Em C, é denotado por curto., É necessário ser pelo menos 16 bits, e é muitas vezes menor que um inteiro padrão, mas isso não é necessário. Um programa conforme pode assumir que pode armazenar com segurança valores entre – (215-1) e 215-1, mas pode não assumir que o intervalo não é maior. Em Java, um curto é sempre um inteiro de 16 bits. Na API do Windows, O curta datatype é definido como um inteiro de 16 bits assinado em todas as máquinas.,>−32,768

+32,767 ushort unsigned 2 0 65,535 Java short signed 2 −32,768 +32,767

Long integerEdit

A long integer can represent a whole integer whose range is greater than or equal to that of a standard integer on the same machine.,

In C, it is denoted by long. É necessário ser pelo menos 32 bits, e pode ou não ser maior que um inteiro padrão. Um programa conforme pode assumir que pode armazenar com segurança valores entre – (231-1) e 231-1, mas pode não assumir que o intervalo não é maior.

longEdit

” long long ” redirects here. Não deve ser confundido com longo ou longo, longo, longo.,

No C99 versão da linguagem de programação C e C++11 versão do C++, uma long long tipo é suportado que tem o dobro da capacidade mínima do padrão long. Este tipo não é suportado por compiladores que exigem que o código C seja conforme com a norma anterior C++, C++03, porque o tipo longo não existia no C++03. Para um compilador conforme ANSI/ISO, devem ser cumpridos os requisitos mínimos para as gamas especificadas, ou seja, −(263-1) a 263-1 para o assinado e 0 a 264-1 para o não assinado; contudo, é permitida a extensão desta gama., Isto pode ser um problema quando se troca código e dados entre plataformas, ou quando se faz Acesso direto a hardware. Assim, existem vários conjuntos de cabeçalhos que fornecem tipos de largura exata independente da plataforma. A biblioteca padrão C fornece stdint.h; isto foi introduzido em C99 e C++11.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *