Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Ejemplo De Desbordamiento Usando El Tipo Byte
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Ejemplo De Desbordamiento Usando El Tipo Byte 
 
Hola!.

En la ayuda encontré...
Citar:

¡Al convertir a Byte, el desbordamiento es ignorado!


Así que vamos a provocarlo y ver su efecto.

Public Sub Main()
  
  Dim num1, num2 As Byte
  
  num1 = 5
  num2 = 3
  
  Print - (num1 + num2)
  
End
 


Salida...

Citar:

248


 

Surge al convertir a negativo el resultado de la suma.
Ahora otro mas.

Public Sub Main()
  
  Dim num1, num2 As Byte
 
  num1 = -7
  num2 = 2  
  Print (num1 - num2)
  
End
 


Salida
Citar:

247


Así que cuidado con el tipo Byte..que muerde!. Solo los expertos en serpientes sabemos usarlo mejor.  
( que si, que ya se que es bite..).

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo De Desbordamiento Usando El Tipo Byte 
 
Estuve probando esto:

A ver, quiero hacer lo mismo pero en binario.

Public Sub EnBinario()
  
  Dim entero1, entero2 As Integer
  Dim binario1 As String
  
  entero1 = 5
  entero2 = 3
  
  Print Bin((entero1 + entero2), 4)
  Print Bin((- (entero1 + entero2)), 4)
  
End
 


Lo cierto es que aunque use el signo negativo en la segunda instrucción, el resultado es el mismo.

Citar:

1000
1000


Y si cambio el tipo entero a byte
Public Sub EnBinario()
  
  Dim entero1, entero2 As Byte
  Dim binario1 As String
  
  entero1 = 5
  entero2 = 3
  
  Print Bin((entero1 + entero2), 4)
  Print Bin((- (entero1 + entero2)), 4)
  
End

 

Citar:

1000
11111000


Pero no es lo que quiero, ya que ha convertido después de hacer la operación de los enteros.
Quiero sumar directamente binario. Creo que tiene que convertir a entero, obligadamente.
No encontré otra forma de sumar dos números binarios. Como se convierten a cadena. No puedo usar % ni tampoco &X

Buscare luego a ver si veo algo en la comunidad.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Ejemplo De Desbordamiento Usando El Tipo Byte 
 
Creo que este comportamiento del tipo Byte sea un poco más comprensible leyendo lo que está escrito en la ayuda de la función CByte( ).
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Simple Ejemplo Usando Gambas3 Y Google Cha... jsbsan Aplicaciones/Fragmentos de Código 3 Sabado, 21 Abril 2012, 11:03 Ver último mensaje
arubioc
No hay nuevos mensajes Ejemplo De Un Juego De Cartas Usando POO.C... Shell General 2 Miercoles, 27 Febrero 2013, 15:01 Ver último mensaje
Shell
No hay nuevos mensajes Contenedores. Ejemplo Usando Panel Y VPanel. Shell General 2 Jueves, 28 Enero 2016, 19:30 Ver último mensaje
Shell
No hay nuevos mensajes Guardar Una Pequeña Información Tipo Cla... gambafeliz General 8 Martes, 10 Septiembre 2019, 11:06 Ver último mensaje
gambafeliz
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron