Aritmética de Puntos Fijos en Programación en C

Estoy tratando de crear una aplicación que almacene los precios de las acciones con alta precisión. Actualmente estoy usando un doble para hacerlo. Para ahorrar en la memoria, ¿puedo usar otro tipo de datos? Sé que esto tiene algo que ver con la aritmética de punto fijo, pero no puedo resolverlo.