‘Unsigned char’ para la optimización de la memoria de programación C

Los desarrolladores generalmente usan int para almacenar valores enteros, sin pensar en el rango de datos, si el rango de datos es menor, debemos utilizar unsigned char .

unsigned char

Un tipo de char tipo de datos, unsigned char puede almacenar valores entre 0 a 255 , así que podemos usar unsigned char en lugar de short o int .

He aquí un ejemplo:

#include <stdio.h>
int main()
{
unsigned char value=0;
printf("Value is: %dn",value);
value=50;
printf("Value is: %dn",value);
value=255;
printf("Value is: %dn",value);
return 0;
}

salida

Value is: 0 
Value is: 50
Value is: 255

Aquí podemos ver claramente que unsigned char es capaz de almacenar valores de 0 a 255.

lo que sucederá, si el valor es mayor que 255?

int main()
{
unsigned char value=300;
printf("Value is: %dn",value);
return 0;
}

salida

value is: 44

Aquí el valle será 44

¿Por qué?

unsigned char almacenar sólo 8 bits de datos en la memoria, cuando el valor es mayor que sólo primeros 8 bits serán almacenados, ver la imagen dada.

‘unsigned char’ for memory optimization in c programming - 4

En este valor de imagen de 8 bits es: 0010 1100 lo que equivale a 44.

Si el valor de datos si es negativo?

Podemos utilizar unsigned en lugar de char unsigned al valor de almacenar datos entre -128 a 127 , char tiendas sólo 7 bits de los datos, 8º bits se utilizan para la representación de signos.

Aquí es un ejemplo:

#include <stdio.h>
int main()
{
char value=0;
printf("Value is: %dn",value);
value=-128;
printf("Value is: %dn",value);
value=127;
printf("Value is: %dn",value);
return 0;
}

salida

Value is: 0 
Value is: -128
Value is: 127


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *