Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: J_F_NASH en 12 de Marzo de 2008, 10:41:53 PM

Título: ¿En C es posible asignar a una variable un número binario?
Publicado por: J_F_NASH en 12 de Marzo de 2008, 10:41:53 PM
¿Cómo puedo hacer algo como esto?:
variable = 11100010;


S2.
Título: ¿En C es posible asignar a una variable un número binario?
Publicado por: tamudo en 12 de Marzo de 2008, 10:58:58 PM
puedes ponerlo en hexadecimal, que equivale a

variable = 0xe2;

Fuente (http://www.conclase.net/c/curso/index.php?cap=007)
Título: ¿En C es posible asignar a una variable un número binario?
Publicado por: dinamic en 13 de Marzo de 2008, 12:24:18 AM
Aunque en Hexa queda mas elegante...
variable = 0b11100010;

Un Saludo
Título: ¿En C es posible asignar a una variable un número binario?
Publicado por: Tei en 13 de Marzo de 2008, 09:37:39 AM
Cita de: "dinamic"Aunque 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;
Título: ¿En C es posible asignar a una variable un número binario?
Publicado por: davur en 13 de Marzo de 2008, 11:02:38 AM
Cita de: "dinamic"Aunque 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;
}