elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  problema con sobre escritura de métodos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con sobre escritura de métodos  (Leído 850 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
problema con sobre escritura de métodos
« en: 24 Enero 2015, 03:15 am »

Saludos

Tengo el siguiente código en el cuál tengo que declarar una variable  que puede ser de tipo int, byte o short, a esta variable le voy a asignar un numero en notacion hexadecimal, y después tengo una función llamada memoriaRAM() que lo va a convertir en binario. Yo en el código no tengo uno sino 3 métodos memoriaRAM() a uno le paso como parametros el valor cuando es tipo int, a otro cuando es short, y al ultimo cuando es de tipo byte.

Código
  1. public class OperadoresBits
  2. {
  3. public static void main(String[] args)
  4. {
  5. int valor = 0x80;
  6. short x = 0x80;
  7. byte y = 0x80;
  8. System.out.println("Bits en la RAM\n");
  9. memoriaRAM(valor);
  10. }
  11.  
  12. public static void memoriaRAM(byte valor)
  13. {
  14. int i,bits;
  15. bits = 8;
  16. char binario[] = new char[bits];
  17. System.out.println("Pasando el valor byte " + valor + ":");
  18. for(i = bits-1;i >= 0;i--)
  19. {
  20. if((valor&1) == 1)
  21.   binario[i] = '1';
  22. else if((valor&1) == 0)
  23.   binario[i] = '0';
  24. valor >>= 1;
  25. }
  26. imprimirArreglo(binario);
  27. }
  28.  
  29. public static void memoriaRAM(int valor)
  30. {
  31. int i,bits;
  32. bits = 32;
  33. char binario[] = new char[bits];
  34. System.out.println("Pasando el valor int " + valor + ":");
  35. for(i = bits-1;i >= 0;i--)
  36. {
  37. if((valor&1) == 1)
  38.   binario[i] = '1';
  39. else if((valor&1) == 0)
  40.   binario[i] = '0';
  41. valor >>= 1;
  42. }
  43. imprimirArreglo(binario);
  44. }
  45.  
  46. public static void memoriaRAM(short valor)
  47. {
  48. int i,bits;
  49. bits = 16;
  50. char binario[] = new char[bits];
  51. System.out.println("Pasando el valor short " + valor + ":");
  52. for(i = bits-1;i >= 0;i--)
  53. {
  54. if((valor&1) == 1)
  55.   binario[i] = '1';
  56. else if((valor&1) == 0)
  57.   binario[i] = '0';
  58. valor >>= 1;
  59. }
  60. imprimirArreglo(binario);
  61. }
  62.  
  63. public static void imprimirArreglo(char binario[]){
  64. int bits = 0,i;
  65. final int BITS = 8;
  66. for(i = 0;i < binario.length;i++)
  67. {
  68.    System.out.print(""+binario[i]);
  69.    bits++;
  70.    if(bits == BITS)
  71.    {
  72.     System.out.print(" | ");
  73.     bits = 0;
  74.    }
  75. }
  76. }
  77. }
  78.  

estoy probando el programa cuando a la variable le asigno el valor 128, en hexadecimal sería:

valor = 0x80

para el tipo int y short funciona perfecto e imprime el binario correctamente, pero para el byte desde el momento en que le asigno el valor 0x80 a la variable valor, me marca un error y no entiendo por qué no puedo hacer esto:

byte valor = 0x80;

de antemano gracias







En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: problema con sobre escritura de métodos
« Respuesta #1 en: 24 Enero 2015, 03:42 am »

Byte almacena valores entre -128 y 127. Si intentas guardar 128 en un Byte, te va a dar un error de out of range.


PD: ¿Tu otro tema se resolvió? Si es así, márcalo con el check verde y edita el título como [Resuelto] Nombre del post.


En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con la lectura y escritura de un arxivo
Programación Visual Basic
bautistasbr 1 1,326 Último mensaje 30 Agosto 2006, 17:47 pm
por bautistasbr
problema con escritura de archivos
Programación C/C++
drakolive 4 1,952 Último mensaje 2 Junio 2010, 22:03 pm
por Littlehorse
Tipico caso de sobre-escritura de ficheros con el mismo nombre
Java
alzehimer_cerebral 3 4,012 Último mensaje 21 Julio 2010, 22:21 pm
por alzehimer_cerebral
problema de escritura en un pen drive « 1 2 »
Dudas Generales
politronic 10 5,206 Último mensaje 25 Noviembre 2011, 18:15 pm
por politronic
Sobre-escritura de archivos JAVA
Java
yesod 5 1,837 Último mensaje 27 Julio 2014, 21:29 pm
por yesod
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines