[Powered by Google Translate] JORDAN Jozwiak: conversión de tipos, en el sentido más simple, es un manera de alterar la interpretación de una computadora de algunos datos por implícita o explícitamente cambiando su tipo de datos. Tal como cambiar un int a un float, o viceversa. Para entender la conversión de tipos, tenemos que empezar con lo básico - mismos tipos de datos. En los lenguajes de programación como C, todas las variables tienen algún tipo de tipo de datos que determina cómo el ordenador, incluso el usuario, interpreta esa variable. Tipos de datos numéricos, como un int, long long, float y dobles, todas ellas tienen sus propias características y son utiliza para especificar los valores de diferentes rangos y precisión. Forzado de tipos nos permite tener un número de punto flotante como 3.14 y obtener la parte antes del decimal, 3 en este caso, echando a un int. Tomemos un ejemplo del idioma Inglés por un breve la revisión de los tipos, y para ver cómo la conversión de tipos puede cambiar la forma en que interpretamos una pieza de datos. Para los datos, vamos a tomar los símbolos aquí. Acabo de hacer referencia a estas líneas cuidadosamente configurados como símbolos, sino como alguien que conoce el idioma Inglés, inmediatamente reconocen que son, de hecho, las letras. Usted entiende implícita del tipo de datos. En cuanto a esta cadena de letras que podemos ver a dos palabras diferentes, cada uno con su propio significado. Ahí está el sustantivo, el viento, al igual que en el viento de afuera. Y ahí está el verbo, el viento, como en lo que cuerda a mi reloj analógico. Este es un ejemplo interesante, ya que podemos ver cómo el tipo que le asignamos a nuestros datos, ya sea sustantivo o verbales, cambia la forma en que utilizamos los datos - como el viento o el viento palabra. Aunque un equipo no se preocupa acerca de la gramática y las piezas de habla Inglés, el mismo principio se aplica. Es decir, se puede cambiar la interpretación de la exacta mismos datos almacenados en la memoria por simple colada a una tipo diferente. Aquí son los tamaños de los tipos más comunes de un 32-bit del sistema operativo. Tenemos un char a 1 byte, int y float en 4 bytes, una larga de largo y un doble de 8 bytes. Debido a que un int ocupa 4 bytes, se tardará hasta 32 bits cuando se almacena en la memoria como una serie binaria de ceros y unos. Mientras nuestra variable permanece como un tipo int, el equipo siempre va a convertir esos unos y ceros de binario en el número original. Sin embargo, en teoría podría arrojar los 32 bits en una serie de tipos booleanos. Y luego el ordenador ya no ve un número, pero en lugar de un conjunto de ceros y unos. También puede tratar de leer esos datos como diferente numérico escribir, o incluso como una cadena de cuatro caracteres. Cuando se trata de números en casting, debe considerar cómo la precisión de su valor se verá afectado. Tenga en cuenta que la precisión puede permanecer igual, o puedes perder precisión, pero nunca se puede ganar precisión. Vamos a través de las tres formas más comunes que se pueden perder precisión. Al lanzar un flotador a un int hará que el truncamiento de todo después del punto decimal, por lo que está a la izquierda con el número entero. Si tomamos el flotador que x será igual a 3,7, podemos echar esta variable x a un int simplemente escribiendo int en paréntesis. Cada vez que usamos este término aquí, que efectivamente va a a utilizar el valor de tres, ya que hemos truncado todo después del punto decimal. También puede convertir un long long a int, que será igualmente conducir a una pérdida de bits de alto orden. A long long ocupa 8 bytes o 64 bits en la memoria. Así que cuando la echó a un int que sólo tiene 4 bytes, o 32 bits, esencialmente estamos cortando todos los bits que representan los valores binarios más altos. También puede lanzar un doble a un flotador, que dará que el flotador más cercano posible al doble sin necesariamente redondeo. Similar a nuestro long long int a la conversión, la pérdida de precisión se debe a que un doble contiene más datos. Un doble le permitirá almacenar 53 bits de menor peso, aproximadamente 16 dígitos significativos. Mientras que un flotador sólo le permitirá almacenar 24 bits de menor peso, aproximadamente siete dígitos significativos. En estos dos últimos casos, puede ser útil pensar conversión de tipos como cambiar el tamaño de una foto. Cuando se pasa de un gran tamaño a un tamaño pequeño, no se puede ver las cosas con tanta claridad, porque la pérdida de datos en forma de píxeles. Forzado de tipos también pueden causar problemas cuando emitir ints a flote. Dado que flota en una máquina de 32 bits sólo tienen 24 bits significativos, no pueden representar con precisión los valores más de 2 a la potencia de 24, o 16777217. Ahora vamos a hablar de una conversión explícita e implícita. Una conversión explícita es cuando se escribe entre paréntesis el tipo antes de un nombre de variable. Por ejemplo, antes de escribir int entre paréntesis antes de nuestra flotar variable x. De esta manera, obtenemos el valor int, el valor truncado de 3,7 - 3. Conversión implícita es cuando el compilador cambia automáticamente tipos similares a un tipo de super, o realiza alguna otra clase de de colada sin necesidad de que el usuario escriba cualquier código adicional. Por ejemplo, cuando sumamos 5 y 1,1, nuestros valores ya tienen tipos asociados con ellos. El 5 es un int, mientras que 1.1 es una carroza. Con el fin de añadirlos, el ordenador pone en un flotador 5, lo que habría sido la misma cosa que escribir en el 5,0 primer lugar. Pero de esta manera decimos flotador 5 o 5,0, además de lo que ya era un flotador, 1,1, y de allí en realidad podemos añadir estos valores y obtener el valor 6,1. Conversión implícita también nos permite asignar variables de tipos diferentes entre sí. Siempre podemos asignar un tipo menos precisa en una más un preciso. Por ejemplo, si tenemos una doble x, y una y int - y que éstas podrían tener cualquier valor que las asignamos al - podemos decir que x es igual a y. Debido a que el matrimonio tiene más precisión que un int, por lo que no perderá ninguna información. Por otra parte, no necesariamente sería correcto decir y es igual a x, porque el doble podría tener un valor mayor que el número entero. Y así, el número entero no podría ser capaz de contener toda la información almacenada en el doble. Conversión implícita también se utiliza en los operadores de comparación como mayor que, menor que, o el operador de igualdad. De esta manera podemos decir si 5,1 es mayor que 5, y tenemos la resultar cierto. Dado que el 5 es un int, pero va a ser echado a un flotador para ser comparado con el 5,1 flotador, diríamos 5.1 es mayor que 5,0. Lo mismo es cierto con decir si es igual a 2,0 es igual a 2. También queremos conseguir cierto, porque el equipo echará la número entero de 2 a flotar y luego decir 2,0 es igual a es igual a 2,0, esto es cierto. No olvide que también puede lanzar entre enteros y caracteres, o valores ASCII. Chars también deben reducirse a binario, por lo que usted puede convertir fácilmente entre caracteres y sus respectivas Valores ASCII. Para aprender más sobre esto, echa un vistazo a nuestro video en ASCII. Cuando usted toma un momento para pensar acerca de cómo los datos se almacenan, comienza a hacer un montón de sentido. Es como la diferencia entre el viento y el viento. Los datos son el mismo, pero el tipo que puede cambiar cómo interpretarla. Mi nombre es Jordan Jozwiak, este CS50.