Вы находитесь на странице: 1из 2

www.tiexpert.

net

Pg. 1 de 2

Typecast
Typecasting uma tcnica utilizada em C para simples converso de tipo de dado, ou seja, ele no converte um tipo de dado, mas sim, faz com que ele se parea com outro tipo de dado. A tcnica de typecasting importante porque muitas vezes temos que retornar valores de tipos diferentes ou, de forma vulgar, traduzir certos tipos de dados genricos. O importante aqui saber que um processo com um tipo de dado, sempre resultar no mesmo tipo de dado. Vamos esclarecer de forma prtica essa questo: Se dividirmos um nmero inteiro, por exemplo, 10 por um outro nmero inteiro, digamos 3, o resultador ser um nmero decimal, ou seja, um nmero de ponto flutuante. Matematicamente analisando, 103=3,333333. Mas, quando fazemos esta operao em C/C+ +, o resultado ser impreciso -> 103=3, porque o resultado de uma operao envolvendo nmeros inteiros resulta em um outro nmero inteiro. E aqui, neste momento, que o typecasting se mostra til. Ento, como fazemos o typecasting? Para fazer o typecasting, basta colocar entre parnteses o tipo de dado para o qual deseja converter e, ento, coloc-lo antes de uma varivel especfica ou depois do operador de atribuio (=) para indicar que o resultado proveniente daquela operao deve ser convertido. Pensando no exemplo acima, vamos nomear uma varivel x sendo float (decimal) e iremos dividir duas variveis inteiras: n1 e n2; #include <iostream> using namespace std; int main (void){ int n1=10, n2=3; float x; x=n1/n2; cout << x << endl; system ("pause"); } Se observarmos, h exatamente o erro que j foi explicado aqui. Estamos atribuindo a varivel do tipo float o resultado da diviso de dois inteiros. Para corrigir esse problema, usaremos o typecasting. Vejamos #include <iostream> using namespace std; int main (void){ int n1=10, n2=3; float x; x=(float)n1/n2; cout << x << endl; system ("pause"); } Pronto! Agora o resultado de n1/n2 ser entendido como sendo um float. Para demonstrar que podemos converter a interpretao de quaisquer dados, abaixo est um algoritmo que cria a tabela ASCII. Para faz-la, ns usaremos apenas uma varivel inteira curta no cdigo inteiro, e a converteremos para char.

http://www.tiexpert.net/programacao/c/typecast.php

www.tiexpert.net
#include <iostream> using namespace std; int main (void){ for (unsigned short i=15; i<255; i++){ cout << i << "-" << (char)i << "\t\t"; } cout << endl; system ("pause"); }

Pg. 2 de 2

Autor: Denys William Xavier Este artigo est sob Licena Creative Commons Para ver uma cpia desta licena, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.

http://www.tiexpert.net/programacao/c/typecast.php

Вам также может понравиться