numeros binarios aleatorios en c
Hola,
necesito ayuda:
Estoy haciendo un programa en c y necesito crear numeros binarios aleatoriamente, pero que yo sepa lo normal es usar rand, es lo que he usado, que devuelve enteros, así que lo que he hecho es rand()%2, que aparentemente funciona, pero en realidad no, porque me repite la misma secuencia de numeros, asi que ya no son aleatorios.
He probado cambiando la semilla con srand() pero tampoco.
¿Alguien puede echarme una mano?
Gracias
necesito ayuda:
Estoy haciendo un programa en c y necesito crear numeros binarios aleatoriamente, pero que yo sepa lo normal es usar rand, es lo que he usado, que devuelve enteros, así que lo que he hecho es rand()%2, que aparentemente funciona, pero en realidad no, porque me repite la misma secuencia de numeros, asi que ya no son aleatorios.
He probado cambiando la semilla con srand() pero tampoco.
¿Alguien puede echarme una mano?
Gracias
La funcion "random()" en realidad no es una función
es una macro que llama a la funcion rand()
asi:
#define random(x) rand()%x
/* "random(x)" es exactamente lo mismo que "rand()%x" */
y escribe la funcion "randomize()" solo una vez antes de llamar a "random() o rand()" para que no se repitan los números
es una macro que llama a la funcion rand()
asi:
#define random(x) rand()%x
/* "random(x)" es exactamente lo mismo que "rand()%x" */
y escribe la funcion "randomize()" solo una vez antes de llamar a "random() o rand()" para que no se repitan los números
amigo si yo si se lo que tu buscas en esa pregunta que haces sobre los numeros bianrios aleatoriamente en vectores sabes llamae el lunes a las 12.30pm o si no el martes a las 12.30pm me llamo carlos salas
miren les voy a pareser la india mas gande del mundo... estoy en 9no grado y me mandaron un trabajo sobre: ¿que son los numeros binarios? y no se que son, busque por todos lados y no me dan una respuesta concreta.. por favor!!!! respondanme!!!
El sistema de numeracion binario es una forma de reprecentar cantidades usando solo dos simbolos (el decimal utiliza 10) Los simbolos usados on el cero (0) y el uno (1).
Es un sistema de numeracion pocicional, significa que, la pocicion de los simbolos (digitos) determina el peso (o valor) de este (en el primer lugar unidades, etc.)
Se empieza a contar por orden (primero el cero, luego el uno, el cero pesa menos que el uno) y cuando no quean mas simbolos (se han usado el cero y el uno) se recurre a agregar un digito mas y repetir la cuenta:
esto es:
0 el cero
1 el uno
10 el dos (agregamos un digito mas)
11 el tres
100 el cuatro (agregamos otro digito)
101 el cinco (repetimos la cuenta)
110 6
111 7
1000 8
1001 9
1010 10
1011 11
1100 12
1101 13
1110 14
1111 15
...y asi...
Si usamos un numero de digitos fijo podemos ver esto:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Las unidades cambian de signo cada numero, las "decenas" cada dos, las "centenas" cada cuantr, los "millares" cada 8... y asi cambia cada vez con el doble.
Esta es una manera "cacera" de contar en binario sin repetirn ninguna combinacion de ceros y unos. De hecho es la forma en que operan los contadores binarios, (cambian con la cantidad de pulsos) pero eso me parece que es otro tema...
Bueno, tenia ganas de perder un poco el tiempo...
Es un sistema de numeracion pocicional, significa que, la pocicion de los simbolos (digitos) determina el peso (o valor) de este (en el primer lugar unidades, etc.)
Se empieza a contar por orden (primero el cero, luego el uno, el cero pesa menos que el uno) y cuando no quean mas simbolos (se han usado el cero y el uno) se recurre a agregar un digito mas y repetir la cuenta:
esto es:
0 el cero
1 el uno
10 el dos (agregamos un digito mas)
11 el tres
100 el cuatro (agregamos otro digito)
101 el cinco (repetimos la cuenta)
110 6
111 7
1000 8
1001 9
1010 10
1011 11
1100 12
1101 13
1110 14
1111 15
...y asi...
Si usamos un numero de digitos fijo podemos ver esto:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Las unidades cambian de signo cada numero, las "decenas" cada dos, las "centenas" cada cuantr, los "millares" cada 8... y asi cambia cada vez con el doble.
Esta es una manera "cacera" de contar en binario sin repetirn ninguna combinacion de ceros y unos. De hecho es la forma en que operan los contadores binarios, (cambian con la cantidad de pulsos) pero eso me parece que es otro tema...
Bueno, tenia ganas de perder un poco el tiempo...
[a] : no se con que copilador estas trabajando. Suponiendo que usas algo strandard, tienes que poner al principio randomize() - para activar la base del generador aleatorio y luego, dentro de un loop, obtener numeros con random(n) - n es un entero a tu elleccion, y vas a obtener numeros entre 0 y n-1.
[b] : todos los enteros estan almacenados como binarios, si los quieres ver como tales, es decir series de 0 y 1, tienes que escribir una funcion que sepa transformar un decimal a binario.
[b] : todos los enteros estan almacenados como binarios, si los quieres ver como tales, es decir series de 0 y 1, tienes que escribir una funcion que sepa transformar un decimal a binario.
