|
143
|
Programación / Programación C/C++ / Re: Imprimir una palabra en binario[?]
|
en: 8 Mayo 2011, 17:55 pm
|
Tu primer problema está en que una cadena de texto la componen chars, que ocupan 8 bits, es decir, cada char necesitaría estar representado por un vector de 8 bits, no por 1 bit como haces tu en tu código.
Por otro lado, tienes lo siguiente: si tu a un char, le asignas el valor de un entero, va a poner el valor ASCII asociado a ese entero, es decir, para 0, te va a poner el final de cadena.
Si lo que quieres es pasar un entero a binario, hay otras formas que no implican cadenas de carácteres sino divisiones entre del propio número y obtener el resto.
|
|
|
144
|
Programación / Programación C/C++ / Re: Entero de 10 elevado a 1000
|
en: 8 Mayo 2011, 17:49 pm
|
Creo que primero necesitas aprender sobre numeración en el ordenador.
Con enteros NO te va a entrar, usa floats (doubles si eso)
Con un long, suponiendo que el int es de 32, el long es de 64, lo que da 2^63 (a la 64 si es unsigned), que es mucho menor que 10^63, ya ni te digo 10^1000
Para tu segunda duda, hay mil formas, una de ellas utilizar sprintf para imprimir el número a una cadena de carácteres,
|
|
|
146
|
Programación / Programación C/C++ / Re: Problema con accceso a estructuras.
|
en: 7 Mayo 2011, 10:51 am
|
chemaspain, no te lo tomes a mal, por muy brusco que pueda somar, es un consejo: necesitas revisarte la teoria básica sobre el tema porque es precisamente eso lo que te está fallando. De todas formas te hago un resumen rápido.
& (ampersand)--> obtiene la dirección de memoria de una variable.
* (asterisco)--> obtiene lo apuntado por una variable.
. (punto) accede al campo de una estructura.
-> (flecha) --> accede al campo de una estructura apuntada por la variable. Es un atajo de *(puntero).campo
Por otro lado, tu problema es, que :
void fur_get_name (tFurniture f, tString n)
espera un tFurniture, no un *tFurniture como tu le pasas aquí: fur_get_name(s->currFur,name) s->CurrFur es un *tFurniture que tu mismo te has definido en tu declaración de la estructura tSupplier.
|
|
|
147
|
Programación / Programación C/C++ / Re: una consulta con pilas
|
en: 7 Mayo 2011, 10:43 am
|
Primero que entra, último que sale, o también último que entra, primero que sale.
Básicamente que si tu tienes una cabeza, el elemento que vayas a introducir, deberá ser la nueva cabeza, es decir, el primero, y apuntar a la pila que ya habia para perderla.
|
|
|
148
|
Programación / Programación C/C++ / Re: Void, float y pasos por referencia
|
en: 6 Mayo 2011, 19:35 pm
|
Si quieres modificarlos dentro de la función, necesitas pasar punteros para poder pasarlos por referencia, a menos que estes en C++, que la cosa cambia. Por cierto, para imprimir floats, se usa %f float division(int a, int b, int c, int d, float* y, float* x) { *y=((b/(c*c)-(d*a)/(c*c))/(1+(d*d)/c)); *x=((a-d*y)/c); printf("\nEl resultado de la division z1/z2 = (%f, %f)\n", x , y ); } //llamada a división: división(a,b,c,&y,&x); //de esta forma, pasas las direcciones de x,y. Otra forma sería pasar propiamente punteros a los floats.
En c++, en vez de usar punteros, para pasar algo por referencia, simplemente pones & en el parámetro,cuando defines la función. float division(int a, int b, int c, int d, float & y, float & x) sería el caso. uso: división(a,b,c,y,x) Pero en este caso y,x si se modifican dentro de la función.
|
|
|
150
|
Foros Generales / Noticias / Re: Mozilla mejorará la velocidad de Firefox en Linux
|
en: 3 Mayo 2011, 19:32 pm
|
Acerca de dicha optimización, cabe decir que en los repositorios no oficiales de Arch-Linux hay algo similar (paquete firefox-pgo) si no lo mismo (salvo que en este caso quieren hacerlo desde la build propia de mozilla) que hace precisamente eso, compilar por PGO. La diferencia se nota, bastante.
No puedo decir como lo deja respecto a la actual build de windos ya que no la uso (ni dicho SO)
|
|
|
|
|
|
|