Mensajes: 1,416
Temas: 202
Gracias Recibidas: 350 en 257 posts
Gracias Dadas: 258
Registro en: Jul 2020
Hola.
Como saben para convertir en bits un numero byte se hace así:
Bin(254)
El resultado es:
11111110
Pero.. ¿Como se hace para obtener el 254 a partir del 11111110 ?
1 Saludo.
Mensajes: 158
Temas: 2
Gracias Recibidas: 122 en 78 posts
Gracias Dadas: 8
Registro en: Jul 2020
Los siguientes 1 usuarios dice gracias a cogier por este post:1 usuarios dice Gracias! a cogier por este post
• tincho
Mensajes: 361
Temas: 29
Gracias Recibidas: 103 en 78 posts
Gracias Dadas: 13
Registro en: Jul 2020
12-08-2022, 21:44
(Última modificación: 12-08-2022, 21:44 por
vuott.)
Hooola tinchooo !
Olivier te dio la solución más rápida:
https://lists.gambas-basic.org/pipermail...76707.html
Pero yo por curiosidad te propongo una solución más simpatica:
GAMBAS
' long int strtol (const char *__restrict __nptr, char **__restrict __endptr, int __base)
' Convert a string to a long integer.
binario = "11111110"
Print strtol
(binario,
0,
2)
"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)
"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
Los siguientes 1 usuarios dice gracias a vuott por este post:1 usuarios dice Gracias! a vuott por este post
• tincho
Mensajes: 1,416
Temas: 202
Gracias Recibidas: 350 en 257 posts
Gracias Dadas: 258
Registro en: Jul 2020
13-08-2022, 17:08
(Última modificación: 13-08-2022, 17:26 por
tincho.)
(12-08-2022, 17:18)cogier escribió: Print Val("%11111110")
Gracias Charlie.
(12-08-2022, 21:44)vuott escribió: Pero yo por curiosidad te propongo una solución más simpatica:
C a través de Extern suele ser siempre mas veloz, en el uso que le voy a dar ahora solo ocurrirá la conversión al inicio de sesión pero tal vez si uso este método en otras tablas y una gran cantidad de veces seguramente la opción con C sea la optima.
Gracias Vuott.
1 Saludo.
Mensajes: 361
Temas: 29
Gracias Recibidas: 103 en 78 posts
Gracias Dadas: 13
Registro en: Jul 2020
13-08-2022, 18:30
(Última modificación: 13-08-2022, 18:33 por
vuott.)
...y, si te gusta, puedes tambien usar un array de tipo Byte:
GAMBAS
s = "11111110"
bb
= Byte[].
FromString(s
).
Reverse()
l
+= CLong((bb
- 48) * (2 ^ b
))
"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)
"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
Los siguientes 1 usuarios dice gracias a vuott por este post:1 usuarios dice Gracias! a vuott por este post
• tincho
Mensajes: 281
Temas: 19
Gracias Recibidas: 43 en 39 posts
Gracias Dadas: 70
Registro en: Jul 2020
en realidad puede usarse, en las operaciones matemáticas, cualquier formato, por ejemplo prueben sumar un binario, un decimal y un hex en la consola:
%11111110 + 1 + &H1
el resultado sera :
256
"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
Los siguientes 1 usuarios dice gracias a tercoide por este post:1 usuarios dice Gracias! a tercoide por este post
• tincho