iPixel Fórum - 2016
 Tudo sobre máscaras de dados WoGwtmM

Bem vindos ao iPixel fórum,
Aqui você encontra vários jogos legais,
tais como DDtank, habbo, transformice, minecraft e outros.
Para ter acesso a este conteúdo, basta clicar em registrar-se!
Se já for registrado clique em login, espero que divirta-se e respeite as regras, até mais.



Participe do fórum, é rápido e fácil

iPixel Fórum - 2016
 Tudo sobre máscaras de dados WoGwtmM

Bem vindos ao iPixel fórum,
Aqui você encontra vários jogos legais,
tais como DDtank, habbo, transformice, minecraft e outros.
Para ter acesso a este conteúdo, basta clicar em registrar-se!
Se já for registrado clique em login, espero que divirta-se e respeite as regras, até mais.

iPixel Fórum - 2016
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» DDTANK YOUTUBE!
 Tudo sobre máscaras de dados EmptyQui Jan 11, 2018 4:06 pm por Founder

» Canal no youtube! voltando
 Tudo sobre máscaras de dados EmptyQui Jan 11, 2018 4:05 pm por Founder

» Player.img GTA SA
 Tudo sobre máscaras de dados EmptySex Out 14, 2016 2:48 pm por dr7games

» [iPixel] Atualizações - Back!
 Tudo sobre máscaras de dados EmptySeg Out 03, 2016 8:25 pm por Reset

» DDtank Pirata - Server TITAN
 Tudo sobre máscaras de dados EmptyDom Out 02, 2016 7:32 pm por Founder

» Diogo
 Tudo sobre máscaras de dados EmptySáb Out 01, 2016 5:16 pm por Snnop

» (EXCLUSIVO) - Technic Laucher Crackeado/Pirata!
 Tudo sobre máscaras de dados EmptySáb Out 01, 2016 11:48 am por dr7games

» [HABBO] Rockz Hotel
 Tudo sobre máscaras de dados EmptyQua Set 28, 2016 9:19 pm por Snnop

» Habbo novo - Peace
 Tudo sobre máscaras de dados EmptyQua Set 28, 2016 9:16 pm por Snnop

» Mega Habbo Net
 Tudo sobre máscaras de dados EmptyQua Set 28, 2016 9:15 pm por Snnop

Top dos mais postadores
Snnop (2014)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
Founder (1750)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
Netzwerk (1284)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
Mordecai (585)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
[G]ordo (575)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
Ted (510)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
Spanka (461)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
Night (362)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
,Master (350)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 
ϟ Lєαяи (303)
 Tudo sobre máscaras de dados I_vote_lcap Tudo sobre máscaras de dados I_voting_bar Tudo sobre máscaras de dados I_vote_rcap 

Os membros mais ativos da semana
Nenhum usuário


Tudo sobre máscaras de dados

Ir para baixo

 Tudo sobre máscaras de dados Empty Tudo sobre máscaras de dados

Mensagem por Harchel Qua Abr 30, 2014 5:30 pm

Máscara de Dados

Máscaras de dados são usadas para definir entradas e saídas de dados em C. Basicamente, ela demonstra ao programa que tipo de conversão deve ser adotado para converter os bytes armazenados em uma variável.

Por exemplo, se entrarmos com uma variável de ponto flutuante (float) que usa 4 bytes de memória, na saída, também devemos utilizar uma máscara de ponto flutuante. Se utilizarmos uma máscara de número inteiro, o algoritmo vai ler apenas os dois primeiros bytes, pois uma variável inteira tem apenas a metade dos bytes de ponto flutuante.

E além disso, variáveis int, float e double usam padrões diferentes de armazenamento. Por exemplo, se digitarmos a entrada 10, ela será convertida em bytes em int, que será convertida em bytes diferentes em float, que por sua vez, será totalmente diferente de double. Apenas char é igual int e vice-versa.

/* EXEMPLO DO QUE PODE ACONTECER DE ERRADO EM UM PROGRAMA
Aqui declararemos uma variavel inteira valendo 65.
veja o que acontece quando mandamos imprimir o inteiro como flutuante
*/
#include
int main (void)
**
int nr=65;
printf ("Este e um int\t-> %d\n", nr)*
printf ("Este e um char\t-> %c\n", nr)*
printf ("Este e um float\t-> %f\n", nr)*
return 0;
**
Como podemos ver, apenas int e char deram um resultado satisfatório, float resultou em algo inesperado - nada.

As máscaras

Agora que vimos para que servem as máscaras, veremos qual é a máscara de cada tipo de entrada e saída.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

// Exemplo de mascaras e formato de seus dados
#include
int main (void)
**
printf ("Mascara d\t-> %d\n", 1)*
printf ("Mascara c\t-> %c\n", 'A')*
printf ("Mascara f\t-> %f\n", 1.65)*
printf ("Mascara i\t-> %i\n", 1)*
printf ("Mascara ld\t-> %ld\n", 1)*
printf ("Mascara e\t-> %e\n", 1.65)*
printf ("Mascara o\t-> %o\n", 256)*
printf ("Mascara x\t-> %x\n", 256)*
printf ("Mascara s\t-> %s\n", "Cadeia de caracteres (string)")*
return 0;
**
Alguns cuidados

O problema de usar máscaras é a ambiguidade que pode trazer ao compilador.

Por exemplo: se por acaso quisermos utilizar o símbolo %, como faremos?

Nesse caso podemos usar outros tipo de máscara.

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Também podemos usar modificadores nas máscaras

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

// Exemplo de modificadores de mascaras
#include
int main (void)
**
printf ("Original \"%d\"\nModificado: %+d %+d\n\n", 1, 1, -1)*
printf ("Original \"%f\"\nModificado: %.1f %.3f\n\n", 1.2345, 1.2345, 1.2345)*
printf ("Original \"%o\"\nModificado: %#o\n\n", 256, 256)*
printf ("Original \"%x\"\nModificado: %#x\n", 256, 256)*
**
Fonte: tiexpert
Harchel
Harchel
Programadores
Programadores

Mensagens Mensagens : 27
Reputação Reputação : 2
Moedas Moedas : 390
Cash Cash : 0
Ocorrências Ocorrências :
 Tudo sobre máscaras de dados Left_bar_bleue0 / 1000 / 100 Tudo sobre máscaras de dados Right_bar_bleue

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos