Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
C ::: Desafios e Lista de Exercícios Resolvidos ::: Operadores de Manipulação de Bits (Bitwise Operators) |
Exercícios Resolvidos de C - Como converter de decimal para binário usando os operadores de bits em CQuantidade de visualizações: 1063 vezes |
|
Pergunta/Tarefa: Escreva um programa C para pede para o usuário informar um número decimal e faça a conversão para binário usando os operadores de bits. Sua saída deverá ser parecida com: Informe um número decimal: 9 O número binário é: 00000000000000000000000000001001 Veja a resolução completa para o exercício em C, comentada linha a linha:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
// vamos definir o tamanho do vetor para guardar
// os dígitos do número binário
#define TAM_INT sizeof(int) * 8
int main(int argc, char *argv[]){
// variáveis para ajudar a resolver o problema
int decimal, indice, i;
// vetor para guardar o número binário
int binario[TAM_INT];
setlocale(LC_ALL,""); // para acentos do português
// vamos pedir para o usuário informar um decimal inteiro
printf("Informe um número decimal: ");
scanf("%d", &decimal);
// ajustamos índice para o último elemento do vetor
indice = TAM_INT - 1;
// enquanto índice for maior ou igual a 0
while(indice >= 0){
// vamos guardar o bit menos significativo LSB
binario[indice] = decimal & 1;
// diminuímos o índice
indice--;
// desloca bits para a direita uma posição
decimal = decimal >> 1;
}
// agora vamos exibir o número binário
printf("O número binário é: ");
for(i = 0; i < TAM_INT; i++){
printf("%d", binario[i]);
}
printf("\n\n");
system("PAUSE");
return 0;
}
|
C# ::: Dicas & Truques ::: Tipos de Dados |
C# para iniciantes - Como usar o tipo decimal da linguagem C#Quantidade de visualizações: 16950 vezes |
|
O tipo decimal (um apelido para o tipo System.Decimal do .NET) é um tipo numérico com precisão de 128 bits, o que o torna apropriado para cálculos enormes e de grande precisão, tais como cálculos financeiros. A faixa aproximada deste tipo é: (mais ou menos)1.0 x 10e−28 até (mais ou menos)7.9 x 10e28 com precisão de 28 ou 29 dígitos significantes. Em C# 2.0, o tipo decimal ocupa 12 bytes, como pode ser observado no trecho de código abaixo:
Console.WriteLine("O tipo decimal ocupa " + sizeof(decimal) +
" bytes");
É preciso ter muito cuidado ao atribuir um literal de ponto-flutuante à uma variável do tipo decimal. Veja: decimal valor = 34.50; Este trecho de código não compila. Veja o erro reportado: Literal of type double cannot be implicitly converted to type 'decimal'; use an 'M' suffix to create a literal of this type Esta mensagem nos diz que não é possível converter implicitamente um tipo double para um tipo decimal. Para solucionar isso, basta usar a letra "M" ou "m" após o valor literal. Veja: decimal valor = 34.50m; Para finalizar, se estivermos atribuindo um literal inteiro à uma variável do tipo decimal, o uso do "M" ou "m" é dispensado. O trecho de código abaixo compila sem quaisquer problemas: decimal valor = 34; |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Exercício Resolvido de Java - Um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguidaQuantidade de visualizações: 921 vezes |
|
Pergunta/Tarefa: Escreva um método Java chamado calcular(int a, int b) que recebe duas variáveis do tipo int e multiplica um valor pelo outro. Em seguida o método deverá dividir o resultado, ou seja, o produto, por 2, e, finalmente, retornar o resto de uma divisão inteira desse resultado pelo número 7. Sua saída deverá ser parecida com: Informe o primeiro valor inteiro: 18 Informe o segundo valor inteiro: 19 O resultado é: 3 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String args[]){
// vamos usar a classe Scanner para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar dois números inteiros
System.out.print("Informe o primeiro valor inteiro: ");
int a = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo valor inteiro: ");
int b = Integer.parseInt(entrada.nextLine());
// vamos obter o resultado de uma chamada à função calcular()
int resultado = calcular(a, b);
System.out.println("O resultado é: " + resultado);
}
public static int calcular(int a, int b){
// primeiro multiplicamos as duas variáveis
int produto = a * b;
// agora dividimos o produto por 2
int temp = produto / 2;
// agora obtemos o módulo do resultado por 7
int resultado = temp % 7;
// e retornamos o valor calculado
return resultado;
}
}
|
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar a quantidade de elementos em um array PHP usando a função sizeof()Quantidade de visualizações: 17532 vezes |
|
Em várias ocasiões nós precisamos retornar o tamanho de um vetor em PHP, ou seja, a quantidade de elementos do array. Para isso nós podemos usar a função sizeof(). Veja a seguir um exemplo de seu uso: <?php /* Este exemplo mostra como obter a quantidade de elementos em um array usando sizeof(). */ $pessoas[0] = "Carlos"; $pessoas[1] = "Juliana"; $pessoas[2] = "Igor"; $pessoas[3] = "Marcelo"; $pessoas[4] = "Amélia"; $tam = sizeof($pessoas); echo "O array contém " . $tam . " elementos."; ?> Ao executar este código PHP nós teremos o seguinte resultado: O array contém 5 elementos. |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
C++ para iniciantes - Como criar um laço while infinito na linguagem C++Quantidade de visualizações: 9736 vezes |
É possível criar um laço while infinito em C++ simplesmente fornecendo o valor true para o teste da condição. Veja:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço while infinito
int valor = 0;
while(true){
cout << valor << "\n";
valor++;
if(valor > 10)
break;
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Veja que aqui nós usamos a instrução break para interromper a execução do laço. Tenha o cuidado de sempre monitorar os laços infinitos. Se não houver nenhum ponto de parada, seu programa executará indefinidamente até que sua máquina seja desligada ou o programa seja forçosamente terminado. |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






