Professional Documents
Culture Documents
Si x es par, entonces
el siguiente coeficiente ai es 0
se divide x entre 2
4 =
a0 = 1
a1 = 0
a2 = 1
y los otros coeficientes son cero. De esta forma se ha mostrado cmo convertir de
decimal a binario el nmero 5. ste es el algoritmo que se utiliza en el siguiente
programa:
import java.util.Scanner;
public class UsaConvertirBinario
{
// Abre clase UsaConvertirBinario
public static void main( String args[])
{
// Abre main
System.out.print("\nEste programa convierte decimales a ");
System.out.print("binario.\n");
Scanner entrada = new Scanner(System.in);
ConvertirBinario miObjeto = new ConvertirBinario();
int numero;
System.out.print("\nPor favor introduzca un numero ");
System.out.println("y se imprimira su equivalente en binario: ");
numero = entrada.nextInt();
miObjeto.Binario( numero );
}
}
// Cierra main
// Cierra clase UsaConvertirBinario
// Cierra while
///////////////////////////////////
//METODO IMPRIMIR
///////////////////////////////////
public void Imprimir( )
{
// Abre metodo Imprimir
/*El arreglo se imprime de la ultima posicion
Etiquetas: Java
6 comentarios:
1.
Annimo14 de septiembre de 2012, 23:08
no
mustra
o estoy mal?
Responder
Respuestas
la
clase
solo
el
metodo
ya
hecho
1.
Hitmontop15 de septiembre de 2012, 0:26
El programa consta de dos archivos, cada uno de los cuales contiene una clase.
El primero de ellos es, por decirlo de una manera, el maestro. Contiene al
mtodo main en una clase que, por ponerle un nombre, le he llamado
UsaConvertirBinario, y es desde donde se llama a los mtodos que hacen la
tarea, los cuales se encuentran en el segundo archivo, llamado
ConvertirBinario.java. En sta clase se encuentra un par de mtodos, el
primero, llamado Binario realiza la conversin con el algoritmo explicado arriba.
El segundo se llama Imprimir, y es importante, porque las computadoras
imprimen los nmeros de izquierda a derecha, pero nosotros debemos imprimir
slo los elementos del arreglo a[] que son significativos, es decir, a partir del
primero distinto de 0 que se encuentre en el recorrido de izquierda a derecha.
As que, respondiendo a tu pregunta, ste es un programa completo, en donde
aparecen mtodos y clases. Gurdalos en el mismo directorio, compila y
ejecuta.
Saludos.
Responder
2.
Annimo28 de mayo de 2013, 19:56
Lo
public
ms
static
fcil
void
main(String[]
es
args)
hacer
throws
IOException
esto:
{
int
Num,
res;
int
maxDivisor=1073741824;
//Mximo
factor
divisorio
entero
int maxEntero=2147483647; //Mximo numero entero que se puede ingresar
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
Num
=
Integer.parseInt(in.readLine());
System.out.print("El
equivalente
binario
de
"+Num+"
es:
");
while
(maxDivisor>0)
{
res
=
Num
/
maxDivisor;
System.out.print(res);
Num
=
Num
%
maxDivisor;
maxDivisor
=
maxDivisor
/
2;
}
System.out.println("\n-Fin
del
Programa-");
}
Responder
3.
Annimo28 de mayo de 2013, 19:59
Lo
public
ms
static
fcil
void
main(String[]
es
args)
hacer
throws
IOException
esto:
{
int
Num,
res;
int
maxDivisor=1073741824;
//Mximo
factor
divisorio
entero
int maxEntero=2147483647; //Mximo numero entero que se puede ingresar
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Ingrese
un
numero:
");
Num
=
Integer.parseInt(in.readLine());
System.out.print("El
equivalente
binario
de
"+Num+"
es:
");
while
(maxDivisor>0)
{
res
=
Num
/
maxDivisor;
System.out.print(res);
Num
=
Num
%
maxDivisor;
maxDivisor
=
maxDivisor
/
2;
}
System.out.println("\n-Fin
del
Programa-");
}
Responder
{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{
Ejercicio 04: Sea n un entero positivo. Si n es par, divdalo entre 2, sino lo es,
multiplquelo por 3 y smele 1. Realice este proceso hasta que el nmero que alcance
sea 1. Realice un programa en C que implemente dicho proceso. Imprima los
nmeros que van obteniendo. Por Ejemplo: Para n = 10 la sucesin generada es: 10 5
16 8 4 2 1
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[]) {
int n;
do{
cout<<"Ingrese N numero entero positivo: ";
cin>>n;
}while(n<=0);
cout<<"Sucesion generada es: ";
while(n!=1)
{
cout<<n<<"; ";
if(n%2==0)
n=n/2;
else
n=3*n+1;
}
cout<<"1 n"<<endl;
system("pause");
return 0;
}