fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Uso de hexadecimal ...
 
Avisos
Vaciar todo

Uso de hexadecimal y binario en C

6 Respuestas
3 Usuarios
0 Reactions
3,767 Visitas
mad93
Respuestas: 32
Topic starter
(@mad93)
Eminent Member
Registrado: hace 17 años

Hola, he intentado ver un poco como manejar valores hexadecimales y binarios en C, pero no he encontrado nada que me quite de dudas.

Querría hacer una pequeña libreria a la que fuera posible pasarle valores hexadecimales como parámetros, pero no sé muy bien como hacerlo (bueno, ni idea la verdad).

Por lo que he visto, un hexadecimal o binario es interpretado/guardado como un int, es así?

Porque querría hacer algo como Avanza(0xAC) o Avanza(10101101b), bueno una variable conteniendo estos valores por ejemplo. Entonces, seria correcto el uso de :

variable1=0xAF
variable2=101010110b

A ver si el b final es correcto en el binario y con el hexadecimal se ha de poner el 0x o sencillamente el valor sin el 0x. Así como usar un tipo int para guardar su valor.

Gracias.

Responder
5 respuestas
Lorth
Respuestas: 188
(@lorth)
Estimable Member
Registrado: hace 17 años

Yo uso el 0x para el compilador del fujitsu...

El binario, he visto gente usarlo con el b tambien...

Responder
mad93
Respuestas: 32
Topic starter
(@mad93)
Eminent Member
Registrado: hace 17 años

Si, pero en el fujitsu usas byte, word y long (assembler) pero en C no sé que tipo he de usar para guardar los valores :S

Responder
bastian
Respuestas: 384
(@bastian)
Ardero
Registrado: hace 17 años

Hola!

Lo de la constante binaria no me suena.... 😳 yo no lo he hecho nunca, si necesito por ejemplo hacer una mascara utilizo el valor hexadecimal.

El uso del hexadecimal si que es correcto y si hay que poner 0x delante del valor. Para un valor hexadecimal puedes utilizar un char o un int (valores enteros... el char son 8 bits y sin signo puedes numerar de 0 a 255) por ejemplo las siguientes asignaciones guardarian lo mismo en la variable:

char variable=65;
char variable=0x41;
char variable='A';

En realidad estarias almacenando su valor en binario (01000001).

Si quieres hacer una funcion a la que le puedas pasar un binario de n bits me parece que tendrás que hacerlo como una cadena de caracteres. Creo recordar que en Builder habia funciones que pasaba de enteros a binario o hexadecimal, creo que era algo como IntToBin(int,int) y IntToHex(int,int). Estas funciones devuelven una cadena de caracteres con el entero traducido a bin o hex, los parametros son el nmero a pasar y el numero de digitos que quieres. Aunque lo que tu necesitas es lo contrario....

Salu2!

Responder
Lorth
Respuestas: 188
(@lorth)
Estimable Member
Registrado: hace 17 años

mad93, es lo mismo, en C un char son 8bits, un int 16bits ...

Responder
Página 1 / 2
Compartir: