Precisa de um freelancer, códigos-fonte e exemplos completos?
Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
 
Arquivo de Códigos - Página Inicial
Códigos-fonte
» Códigos-fonte e exemplos completos
Linguagens
» ActionScript
» Adobe AIR
» Adobe Flex
» AJAX
» C
» C#
» C++
» CSS
» Delphi
» DHTML - Dynamic HTML
» HTML/XHTML
» Java
» JavaFX
» JavaScript
» Java Servlets
» JSP - Java Server Pages
» Perl
» PHP
» PHP-GTK
» Python
» Ruby
» Tcl/Tk
» VB.NET
Bancos de Dados
» IBM DB2
» MySQL
Frameworks
» CodeIgniter
» jQuery
» JSF - Java Server Faces
» Qt
» Ruby On Rails
» Struts
» Struts 2
» wxWidgets
» Zend Framework
Container/Servidor
» Apache Tomcat
» Apache Web Server
Ferramentas
» Apache Ant
» iTextSharp (iText#)
Referências
» CSS1 e CSS2
» JavaScript
Serviços On-Line
» Qual é meu IP?
» Tabela Cores HTML I
» Tabela Cores HTML II
» Lista de Mime Types
» Códigos Teclas Virtuais
Usuários On-Line
Visitantes: 31
PHP
O que há de novo no PHP 5?
40 dicas e truques sobre como trabalhar com datas e horas em PHP
60 dicas e truques sobre como trabalhar com strings e caracteres em PHP
PHP e a Orientação a Objetos - POO (Curso Completo)

DHTML
Curso completo de DHTML para iniciantes

CSS
Como definir uma imagem de fundo fixa na página
Definindo uma imagem de fundo para botões HTML
Você está aqui: Inicio -> Tutoriais -> C# -> Curso Completo
Parte 2 :: Variáveis, Constantes e Tipos de Dados :: Tipos de dados numéricos
Agora que você já sabe como declarar variáveis e constantes, é hora de saber quais os tipos de dados que você pode usar eu seus aplicativos. Nos exemplos anteriores vimos que uma variável é declarada seguinte o modelo:

Tipo_de_dados nome_da_variável

Em alguns de nossos exemplos aprendemos a declarar variáveis do tipo inteiro usando a palavra chave int. int é parte de uma lista de tipos conhecidos como built-in types, ou seja, tipos de dados pré-definidos na linguagem.


Os tipos de dados em C# podem ser divididos em quatro categorias: integrais, números de ponto-flutuante, decimal e boolean.

Na categoria dos tipos de dados integrais (tipos que não apresentam partes fracionárias) temos os constantes na tabela seguinte:

Tipo
Faixa de Valores
Tamanho
sbyte -128 até 127
8 bits
byte (sem sinal) 0 até 255
8 bits
char (unicode) U+0000 até U+ffff
16 bits
short -32.768 até 32.767
16 bits
ushort (sem sinal) 0 até 65.535
16 bits
int -2.147.483.648 até 2.147.483.647
32 bits
uint (sem sinal) 0 até 4.294.967.295
32 bits
long -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807
64 bits
ulong (sem sinal) 0 até 18.446.744.073.709.551.615
64 bits

Com certeza o leitor deve estar se perguntando qual é a real necessidade de se conhecer a faixa de valores possíveis e a quantidade de bits ocupados por um determinado tipo de dados. E qual é a diferença entre um tipo sinalizado (sbyte) de um tipo não sinalizado (byte)?

A razão pela qual este curso apresenta tais informações ficará clara à medida que você progredir com seus estudos, não somente da linguagem C#, como também de outras linguagens e técnicas de programação. O apêndice A "Sistemas de Numeração" mostra a você os passos necessários para converter valores entre os sistemas decimais, binário, octal e hexadecimal. Fique à vontade para consultar este apêndice caso a explicação que faremos a seguir se torne um pouco confusa neste estágio do estudo.

Inicialmente tomemos o valor 100 no sistema de numeração decimal. Convertendo este valor para o sistema de numeração binário temos 1100100. Suponha que decidíssemos armazenar este valor em uma variável do tipo sbyte (com sinal). Ora, como sabemos que este tipo de dados ocupa 8 bits, ou seja, 1 byte de memória, teríamos o cenário reproduzido na figura seguinte:


Lembre-se do cálculo: 64 + 32 + 4 = 100. Como podemos ver na figura, o bit mais significativo (na cor cinza) deste byte é usado para sinalizar se o valor é positivo ou negativo. Se o bit mais significativo for 0, valor é positivo. Se for 1, o valor é negativo. Então, como este bit tem essa função exclusiva para os tipos de dados sinalizados, resulta que teremos apenas 7 bits para armazenar os valores desejados. Assim, se tivermos todos estes 7 bits com valores 1 e apenas o bit mais significativo com o valor 0:

0111 1111

chegaremos à conclusão de que o valor máximo a ser armazenado é realmente 127 (64 + 32 + 16 + 8 + 4 + 2 + 1 = 127). Tomemos agora o tipo de dados byte (sem sinal). Como este tipo de dados só armazenará valores positivos, não há a necessidade de se usar o bit mais significativo como sinalizador. Em vez disso, ele é considerado parte dos bits de dados e voltamos novamente a ter 8 bits à nossa disposição. Assim:

128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

Com este cálculo provamos que o tipo byte pode realmente armazenar valores que variarão de 0 a 255. O mesmo cálculo pode ser usado para os outros tipos de dados. Experimente efetuar este processo com os tipos de dados short (aceita valores positivos e negativos) e ushort (aceita somente valores positivos).

Voltemos nossa atenção agora para os tipos de dados capazes de armazenar números de ponto-flutuante, ou seja, números que contêm partes fracionárias. C# fornece os tipos float e double. Veja suas características na tabela seguinte:

Tipo
Faixa de Valores
Precisão
Tamanho
float
1.5x10-45 até 3.4x1038
7 dígitos
32 bits
double
5.0×10-324 até 1.7×10308
15-16 dígitos
64 bits

Para que você realmente entenda as faixas de valores e precisão dos tipos de dados float e double, acrescentamos as seguintes observações:

a) 1038 equivale a multiplicar o valor 10 por ele mesmo 37 vezes. O resultado será o numero 1 seguido de 38 zeros. 10-45 equivale a dividir o valor 10 por ele mesmo 44 vezes. O resultado será uma vírgula seguida pelo numero 1 precedido de 44 zeros.

b) A precisão de um tipo de dados é a quantidade de dígitos que poderão ser representados como casas decimais, ou seja, a quantidade de dígitos significativos após a vírgula. Se o calculo realizado exceder a quantidade de dígitos permitidos após a vírgula, haverá arredondamento para o inteiro mais próximo.

Use o tipo de dados double quando você estiver realizando cálculos que exigem um pouco mais de precisão no tocante às casas decimais. O tipo de dados float é usado quando um possível arredondamento não trará resultados indesejados ao resultado final.

Existe, no entanto, uma opção quando o cálculo exige uma precisão levada ao extremo, por exemplo, em aplicações financeiras. Para estes cálculos o C# nos fornece o tipo de dados decimal. Veja suas características na tabela seguinte:

Tipo
Faixa de Valores
Precisão
Tamanho
decimal
1.0x10-28 até 7.9x1028
28 dígitos
128 bits
Esta parte contém as seguintes seções:
  1. Introdução
  2. Entendimento e uso de variáveis em C#
  3. A diferença entre declaração e definição de variáveis
  4. Como usar constantes em C#
  5. Regras e dicas para a escolha de nomes de variáveis e constantes
  6. Palavras-chave e palavras reservadas da linguagem C#
  7. Tipos de dados numéricos
  8. Os tipos de dados char, string e referência
  9. Entendendo o tipo de dados bool
  10. Literais
  11. Como usar corretamente o método Main com ou sem argunentos
  12. Introdução às interfaces gráficas do C#
 
 
Arquivo de Códigos - Página Inicial
Veja dicas, truques e anotações de Perl
Aprenda a usar o laço foreach da linguagem Perl
Como usar arrays (matrizes) em Perl
Como adicionar um novo elemento (ou outro array) no final de um array
Percorrendo todos os elementos de um array usando o laço foreach da linguagem Perl
Usando o laço for da linguagem Perl
Como adicionar um novo elemento (ou outro array) no início de um array
Obtendo a quantidade de elementos em um array
Como remover um ou mais elementos de um array
Como criar um array de palavras usando a notação qw
Como trabalhar com variáveis escalares em Perl
Veja dicas, truques e anotações de outras linguagens
Ruby - Usando o método size para obter a quantidade de caracteres em uma string
ActionScript - Como obter o nome do dia da semana
PHP - Obter a data do dia seguinte a uma data informada
PHP - Usando o laço for em PHP
Python - Qual a diferença entre os métodos de requisição GET e POST
PHP - Como fazer upload de múltiplos arquivos usando PHP
Java - Como extender a classe KeyAdapter usando uma classe anônima
DHTML (Dynamic HTML) - Usando o método getElementsByTagName
Java - Aprenda a ler entrada do usuário usando a classe JOptionPane
C# (CSharp) - Convertendo um caminho relativo em caminho absoluto

       

http://www.arquivodecodigos.net
:: Arquivo de Códigos - Softwares e Consultoria em Programação ::
Todo o conteúdo deste site, quando não devidamente observado, pertence a seus idealizadores e não
poderá ser usado para outras finalidades senão estudo e aprimoramento de técnicas de programação.
Certifique-se de ler as notas legais antes de proceder com o acesso e leitura do
conteúdo disponibilizado nestas páginas.

Fale Conosco: (62) 3261-7018 / (62) 8185-0734

Desenvolvedor Responsável: Osmar J. Silva

Página Inicial Contatos Pesquisar Mapa do Site