Logo

¡Bienvenido a Stratos!

Acceder

Foros



¿En C es posible asignar a una variable un número binario?

Iniciado por J_F_NASH, 12 de Marzo de 2008, 10:41:53 PM

« anterior - próximo »

J_F_NASH

¿Cómo puedo hacer algo como esto?:
variable = 11100010;


S2.

tamudo

puedes ponerlo en hexadecimal, que equivale a

variable = 0xe2;

Fuente
born to be freak - Blog personal
Introdución a OGRE - Artículos de iniciación

dinamic

Aunque en Hexa queda mas elegante...
variable = 0b11100010;

Un Saludo
My nick is dinamic because the day I registered in went through a serious crisis of originality.

Tei

Cita de: dinamicAunque en Hexa queda mas elegante...
variable = 0b11100010;

Un Saludo

Esta forma es  muy cruda e impersonal.

Es mejor ponerle nombre a los bits.


#define Blinky 0x01
#define Pinky  0x02
#define Inky 0x04
#define Clyde 0x08
#define Donner 0x10
#define Blitzen 0x20
#define Vixen 0x40
#define Comet 0x80

variable = Pinky | Comet | Vixen | Blitzen;

davur

Cita de: dinamicAunque en Hexa queda mas elegante...
variable = 0b11100010;

Un Saludo

Convendría especificar en algún momento de qué lenguaje estamos hablando. Esa notación no es válida ni en C estándar ni en C++ estándar. En particular, es una extensión en compiladores como gcc o Digital Mars.

En C++, puedes expresar constantes binarias con templates:

template <unsigned long n>
struct binary
{
enum { value = binary<n/10>::value * 2 + n % 10 };
};

template <>
struct binary<0>
{
enum { value = 0 };
};

int main()
{
int two = binary<10>::value;

return 0;
}






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.
Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.