En este post veremos cómo convertir un número negativo (ya sea entero o flotante) a positivo en C. Incluso si el número ya es positivo, no pasará nada ni habrá errores al convertirlo utilizando la función abs, fabs y fabsf.

Valor absoluto en C, o convertir número a positivo

Para esto, usaremos una función matemática (o lo que sea) llamada valor absoluto, que devuelve la distancia entre dos puntos de una recta; sin importar si uno de ellos es negativo, porque la distancia siempre es positiva.

La función para el valor absoluto

Dependiendo de la precisión y el tipo de dato, necesitarás una función diferente. Si únicamente quieres saber el valor absoluto de un entero, incluye a:

#include <stdlib.h>

Y llama a abs(valor); para obtener su representación positiva. Esta función es llamada abs, que quiere decir algo así como absolute value.

En caso de que requieras más precisión, por ejemplo de un tipo double o float, usa las funciones fabs y fabsf respectivamente, las cuales están definidas en math.h y puedes incluir así:

#include <math.h>

Así de simple es. Ahora veamos algunos ejemplos.

Convertir entero negativo a positivo en C

#include <stdio.h>  // printf y scanf
#include <stdlib.h> // abs

int main(void) {
  int negativo = -8;
  printf("El valor absoluto de %d es %d", negativo, abs(negativo));
  // El valor absoluto de -8 es 8
}

La función abs devuelve un entero positivo.

Doble negativo a positivo en C

#include <stdio.h>  // printf
#include <math.h> // fabs

int main(void) {
  double negativo = -40.123;
  printf("El valor absoluto de %f es %f", negativo, fabs(negativo));
  // El valor absoluto de -40.123000 es 40.123000
}

En este caso usamos fabs, el cual recibe y devuelve un double.

Flotante negativo a positivo en C

Para una variable de tipo float usamos fabsf como se ve en el código:

#include <stdio.h>  // printf
#include <math.h> // fabsf

int main(void) {
  float negativo = -1.598;
  printf("El valor absoluto de %f es %f", negativo, fabsf(negativo));
  // El valor absoluto de -1.598000 es 1.598000
}

Conclusiones

Me parece que también existe la función fabsl, la cual trabaja con el tipo long double(lo vi aquí).

Existen muchas funciones debido a los tipos de datos; cada una tiene una precisión distinta que servirá de acuerdo a nuestras necesidades.

En la mayoría de casos usaremos abs o fabsf para ejercicios comunes. Recuerda que el objetivo de este post era explicar cómo convertir un número negativo a positivo, y ya vimos cómo hacerlo sin que importe el tipo de dato.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

4 días hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

5 días hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

1 semana hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

2 semanas hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

2 semanas hace

Imprimir euro € en impresora térmica

Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…

4 semanas hace

Esta web usa cookies.