Definindo precisão decimal na linguagem C

Definindo precisão decimal na linguagem C

Este artigo mostrará como definir precisão decimal na linguagem de programação C. Primeiro, definiremos a precisão e, em seguida, examinaremos vários exemplos para mostrar como definir a precisão decimal na programação C.

Precisão decimal em c

A variável do tipo inteiro é normalmente usada para manter o número inteiro e a variável do tipo flutuante para manter os números reais com peças fracionárias, por exemplo, 2.449561 ou -1.0587. A precisão determina a precisão dos números reais e é denotada pelo ponto (.) símbolo. A exatidão ou precisão dos números reais é indicada pelo número de dígitos após o ponto decimal. Portanto, precisão significa o número de dígitos mencionados após o ponto decimal no número de flutuação. Por exemplo, o número 2.449561 tem precisão seis e -1.058 tem precisão três.

De acordo com a representação de ponto flutuante de precisão única IEEE-754, há um total de 32 bits para armazenar o número real. Dos 32 bits, o bit mais significativo é usado como um bit de sinal, os 8 bits a seguir são usados ​​como expoente e os 23 bits a seguir são usados ​​como uma fração.

No caso da representação de ponto flutuante de precisão dupla IEEE-754, há um total de 64 bits para armazenar o número real. Dos 64 bits, o bit mais significativo é usado como um bit de sinal, os 11 bits a seguir são usados ​​como expoente e os 52 bits a seguir são usados ​​como uma fração.

No entanto, ao imprimir os números reais, é necessário especificar a precisão (em outras palavras, precisão) do número real. Se a precisão não for especificada, a precisão padrão será considerada, i.e., Seis dígitos decimais após o ponto decimal. Nos exemplos a seguir, mostraremos como especificar a precisão ao imprimir números de ponto flutuante na linguagem de programação C C.

Exemplos

Agora que você tem um entendimento básico de precisão, vejamos alguns exemplos:

    1. Precisão padrão para flutuação
    2. Precisão padrão para o dobro
    3. Defina precisão para flutuação
    4. Defina precisão para o dobro

Exemplo 1: Precisão padrão para flutuação

Este exemplo mostra que a precisão padrão é definida como seis dígitos após o ponto decimal. Inicializamos uma variável de flutuação com o valor 2.7 e imprimiu sem especificar explicitamente a precisão.

Nesse caso, a configuração de precisão padrão garantirá que seis dígitos após o ponto decimal sejam impressos.

#incluir
int main ()

flutuar f = 2.7;
printf ("\ nvalue de f = %f \ n", f);
printf ("tamanho de float = %ld \ n", sizeof (float));
retornar 0;

Exemplo 2: Precisão padrão para o dobro

Neste exemplo, você verá que a precisão padrão é definida como seis dígitos após o ponto decimal para variáveis ​​de tipo duplo. Nós inicializamos uma variável dupla, eu.e., D, com o valor 2.7 e imprimiu sem especificar a precisão. Nesse caso, a configuração de precisão padrão garantirá que seis dígitos após o ponto decimal sejam impressos.

#incluir
int main ()

duplo d = 2.7;
printf ("\ nvalue de d = %lf \ n", d);
printf ("tamanho de duplo = %ld \ n", sizeof (duplo));
retornar 0;

Exemplo 3: Defina precisão para flutuação

Agora, mostraremos como definir precisão para valores de flutuação. Nós inicializamos uma variável de flutuação, eu.e., f, com o valor 2.7, e imprimi -lo com várias configurações de precisão. Quando mencionamos “%0.4f ”Na declaração Printf, isso indica que estamos interessados ​​em imprimir quatro dígitos após o ponto decimal.

#incluir
int main ()

flutuar f = 2.7;
/ * Defina precisão para variável float */
printf ("\ nvalue de f (precisão = 0.1) = %0.1f \ n ", f);
printf ("\ nvalue de f (precisão = 0.2) = %0.2f \ n ", f);
printf ("\ nvalue de f (precisão = 0.3) = %0.3f \ n ", f);
printf ("\ nvalue de f (precisão = 0.4) = %0.4f \ n ", f);
printf ("\ nvalue de f (precisão = 0.22) = %0.22f \ n ", f);
printf ("\ nvalue de f (precisão = 0.23) = %0.23f \ n ", f);
printf ("\ nvalue de f (precisão = 0.24) = %0.24f \ n ", f);
printf ("\ nvalue de f (precisão = 0.25) = %0.25f \ n ", f);
printf ("\ nvalue de f (precisão = 0.40) = %0.40f \ n ", f);
printf ("tamanho de float = %ld \ n", sizeof (float));
retornar 0;

Exemplo 4: Defina precisão para o dobro

Neste exemplo, veremos como definir precisão para valores duplos. Nós inicializamos uma variável dupla, eu.e., D, com o valor 2.7 e imprimi -lo com várias configurações de precisão. Quando mencionamos “%0.52f ”Na declaração Printf, isso indica que estamos interessados ​​em imprimir 52 dígitos após o ponto decimal.

#incluir
int main ()

flutuar f = 2.7;
/ * Defina precisão para variável float */
printf ("\ nvalue de f (precisão = 0.1) = %0.1f \ n ", f);
printf ("\ nvalue de f (precisão = 0.2) = %0.2f \ n ", f);
printf ("\ nvalue de f (precisão = 0.3) = %0.3f \ n ", f);
printf ("\ nvalue de f (precisão = 0.4) = %0.4f \ n ", f);
printf ("\ nvalue de f (precisão = 0.22) = %0.22f \ n ", f);
printf ("\ nvalue de f (precisão = 0.23) = %0.23f \ n ", f);
printf ("\ nvalue de f (precisão = 0.24) = %0.24f \ n ", f);
printf ("\ nvalue de f (precisão = 0.25) = %0.25f \ n ", f);
printf ("\ nvalue de f (precisão = 0.40) = %0.40f \ n ", f);
printf ("tamanho de float = %ld \ n", sizeof (float));
retornar 0;

Conclusão

A precisão é um fator muito importante para representar um número real com precisão adequada. A linguagem de programação C fornece o mecanismo para controlar a precisão ou exatidão de um número real. No entanto, não podemos alterar a precisão real do número real. Por exemplo, a parte da fração de um número de ponto flutuante de precisão única de 32 bits é representada por 23 bits, e isso é fixo; Não podemos mudar isso para um determinado sistema. Só podemos decidir quanta precisão queremos definindo a precisão desejada do número real. Se precisarmos de mais precisão, sempre podemos usar o número de ponto flutuante de precisão dupla de 64 bits.