C++ ::: Fundamentos da Linguagem ::: Tipos de Dados

Como usar o tipo de dados int da linguagem C++

Quantidade de visualizações: 11034 vezes
O tipo de dados int da linguagem C++ é usado quando queremos representar números inteiros, ou seja, sem partes fracionárias. Veja um trecho de código demonstrando seu uso (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // declara uma variável do tipo int
  int idade = 45;

  cout << "A idade é: " << idade << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

A capacidade de armazenamento do tipo int depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos INT_MIN e INT_MAX, definidos no header climits (limits.h). Veja:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Valor mínimo: " << INT_MIN << "\n";
  cout << "Valor máximo: " << INT_MAX << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executar este programa você terá um resultado parecido com:

Valor mínimo: -2147483648
Valor máximo: 2147483647

Veja que o tipo inteiro aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow):

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  int soma = INT_MAX + 2;

  cout << "Resultado: " << soma << "\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Este programa exibirá o seguinte resultado:

Resultado: -2147483647

Note que este não é o resultado esperado, visto que INT_MAX + 2 deveria retornar:

2147483647 + 2 = 2147483649

Porém, como o valor máximo que pode ser armazenado em um int é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui.

Em termos de bytes, é comum o tipo int ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo int:

#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  cout << "Tamanho de um int: " << sizeof(int) 
    << "\n\n";

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

O resultado da execução deste código será algo como:

Tamanho de um int: 4 bytes



Java ::: Dicas & Truques ::: Strings e Caracteres

Como converter uma string para letras maiúsculas em Java - Como transformar uma string em maiúsculas usando o método toUpperCase() da classe String

Quantidade de visualizações: 2 vezes
A classe String nos fornece o toUpperCase() que converte todas as letras em um texto para letras maiúsculas e nos retorna o resultado de acordo com o locale padrão. Este método é semelhante à toUpperCase(Locale.getDefault()).

Veja um exemplo de como transformar todas as letras de uma frase para letras maiúsculas:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String original = "Onde posso aprender a programar em Java?";
    // vamos convertar para letras maísculas
    String maiusculas = original.toUpperCase();
      
    // vamos mostrar o resultado
    System.out.println("String original: " + original);
    System.out.println("Em letras maiúsculas: " + maiusculas);
     
    System.exit(0);
  }
} 

Ao executarmos este código nós teremos o seguinte resultado:

String original: Onde posso aprender a programar em Java?
Em letras maiúsculas: ONDE POSSO APRENDER A PROGRAMAR EM JAVA?

Esta dica foi revisada e atualizada para o Java 8.


Java ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators)

Como usar o operador de bits & (E/AND sobre bits) em Java - Java Avançado - Manipulação de bits em Java

Quantidade de visualizações: 6989 vezes
Esta dica de Java é muito útil para quem está se preparando para entrevistas de código ou desafios de programação. A manipulação de bits é fator importante para testar as habilidades de candidatos a vagas de programador, pois ela demonstra um conhecimento muito aprofundado de lógica de programação e também de rotinas de baixo nível.

O operador de bits & (E/AND sobre bits) da linguagem Java é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0.

Vamos analisar os seguintes valores binários:

a) 0101 (5 decimal)
b) 0100 (4 decimal)

Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado:

0101
0100
----
0100


Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em Java agora. Observe o seguinte trecho de código:

public class Main {
  public static void main(String[] args) {
    int a = 5;
    int b = 4;
    int c = a & b;
     
    // exibe o resultado (em inteiro e em bytes)
    System.out.println("a = " + obterBits(a) + " (" + a + ")");
    System.out.println("b = " + obterBits(b) + " (" + b + ")");
    System.out.println("a & b = " + obterBits(c) + " (" + c + ")");
  }
  
  // método auxiliar que converte um inteiro em sua representação em bits
  public static String obterBits(int valor){
    int mascara = 1 << 31;
    StringBuffer buffer = new StringBuffer(35);
    
    for(int i = 1; i <= 32; i++){
      if((valor & mascara) == 0){
    	buffer.append('0');
      }
      else{
    	buffer.append('1');
      }
      
      valor <<= 1;
      
      if(i % 8 == 0){
        buffer.append(' ');
      }
    }
    
    return buffer.toString();
  }
}


Ao executar este código teremos o seguinte resultado:

a = 00000000 00000000 00000000 00000101 (5)
b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)


JavaScript ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators)

JavaScript Avançado - Como usar o operador de bits & (E/AND sobre bits) da linguagem JavaScript

Quantidade de visualizações: 1477 vezes
O operador de bits & (E/AND sobre bits) da linguagem JavaScript é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0.

Para quem gosta de Lógica Matemática, ou a Tabela Verdade da Lógica de Boole, vai se lembrar do conectivo "^", que diz que a proposição resultante da conjunção só será verdadeira quando as proposições simples individuais forem verdadeiras. O operador de bits & do JavaScript é similar ao conectivo "^" da Lógica Proposicional.

Vamos analisar os seguintes valores binários:

a) 0101 (5 decimal)
b) 0100 (4 decimal)

Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado:

0101
0100
----
0100

Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em JavaScript agora. Observe o seguinte trecho de código:

<html>
<head>
  <title>Manipulação de Bits em JavaScript</title>
</head>
 
<body>

<script type="text/javascript">
  var a = 5;
  var b = 4;
  var c = a & b;
  
  // exibe o resultado (em binário e em decimal)
  document.writeln("a = " + obterBits(a) + " (" + a + ")");
  document.writeln("<br>b = " + obterBits(b) + " (" + b + ")");
  document.writeln("<br>a & b = " + obterBits(c) + " (" + c + ")");
  
  // função auxiliar que converte um decimal em sua representação em bits
  function obterBits(valor){
    var mascara = 1 << 31; // 10000000 00000000 00000000 00000000
    var buffer = ""; // um buffer para guardar os bits dos bytes
    
    for(var i = 1; i <= 32; i++){
      // compara os bits individuais dos dois valores inteiros
      if((valor & mascara) == 0){
    	buffer = buffer + "0";
      }
      else{
    	buffer = buffer + "1";
      }
      
      valor = valor << 1; // desloca uma posição para a esquerda
      // Cada troca à esquerda corresponde à multiplicação do
      // valor por 2
      
      if(i % 8 == 0){ // completou um byte?
        buffer = buffer + " ";
      }
    }
    
    return buffer;
  }
</script>

</body>
</html>


Ao executar este código teremos o seguinte resultado:

    a = 00000000 00000000 00000000 00000101 (5) 
    b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)



Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby


E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser. Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 32,90

Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.


© 2026 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 36 usuários muito felizes estudando em nosso site.