https://foro.gambas-es.org/viewtopic.php?f=1&t=5324
-----------------------------------
Shell
Domingo, 03 Abril 2016, 13:10

Decimal Y Binario
-----------------------------------
Pues no sé que pasó con el anterior mensaje..a que no lo he enviado.. :roll: 

En el anterior mensaje contaba las peripecias que estoy probando y comparando Gambas y Python con 
los números en distintas bases. Ejemplo en base 2.

Cosas como estas. Una de las cuestiones que hacia era:

¿ Qué hace esto ?.

[code linenumbers=false syntax=gambas]
Print &b0
[/code]

La salida es esta:

[quote]
176
[/quote]

Como vi la "b", pensé que era para mostrar binario. :???:

Os digo esto ya que en Python podemos decir por ejemplo para representar el número decimal tres en binario.

[code linenumbers=false syntax=python]
print (0b11)
[/code]

A menos que este haciendo un AND de algo (vació) y una cadena, raro, raro.
Por ejemplo, fijaros en esto:

[code linenumbers=false syntax=gambas]
 Print "5 AND 8 = " & (5 And 8)
[/code]

Salida:
[quote]
5 AND 8 = 0
[/quote]

Y ahora comparado con este:

[code linenumbers=false syntax=gambas]
 Print "5 AND 8 = " & 5 And 8
[/code]

Salida:
[quote]
8
[/quote]

¿ Ha hecho un AND de la cadena con 5 ?.    :o 

Saludos


-----------------------------------
vuott
Domingo, 03 Abril 2016, 17:05

Re: Decimal Y Binario
-----------------------------------
[quote user="Shell" post="31456"]Y ahora comparado con este:

[code linenumbers=false syntax=gambas]
 Print "5 AND 8 = " & 5 And 8
[/code]

Salida:
[quote]
8
[/quote][/quote]
Como si fuera:
[code linenumbers=false syntax=gambas]
 Print ("5 AND 8 = " & 5) And 8
[/code]
Misma salida por ejemplo con:
[code linenumbers=false syntax=gambas]Print "a" & 5 And 8[/code]    :o

Noto las exceptiones:
[code linenumbers=false syntax=gambas]
 Print Null And 8
[/code]
que da error.

[code linenumbers=false syntax=gambas]
 Print "" And 8
[/code]
que regresa 0 (cero).


-----------------------------------
Shell
Domingo, 03 Abril 2016, 18:38

Re: Decimal Y Binario
-----------------------------------
Es curioso que Gambas usa AND o OR ,NOT tanto para comprobar la expresión como para operar bit a bit.
En otros lenguajes se debe usar "&" y "|"..

Ejemplo en Python no puedo usar AND, debo usar &

[code linenumbers=false syntax=python]
def potencia_de_dos(num):    
    return (num > 0) and ((num & (num - 1) == 0))
[/code]

En cambio en Gambas "&" lo usamos para concatenar. Cosa que en Python es "+"

Saludos


