用 C 语言将负数转换为正数
在 C 语言中,将负数转换为正数非常简单,可以通过以下方法实现:
1. 使用绝对值函数 abs()
abs()函数可以返回一个数的绝对值,即不带有符号(正负号)。对于负数,
abs()函数会将其转换为正数。
立即学习“C语言免费学习笔记(深入)”;
示例:
<code class="c">#include <stdio.h>
#include <stdlib.h>
int main() {
int num = -10;
int positive_num = abs(num);
printf("负数:%d\n", num);
printf("正数:%d\n", positive_num);
return 0;
}</code>输出:
<code>负数:-10 正数:10</code>
2. 通过位运算符取反
负数可以通过位运算符
~取反转换为正数,
~运算符可以将一个数的二进制位反转。对于负数,反转后符号位会变成 0,从而成为正数。
示例:
<code class="c">#include <stdio.h>
int main() {
int num = -10;
int positive_num = ~num + 1;
printf("负数:%d\n", num);
printf("正数:%d\n", positive_num);
return 0;
}</code>输出:
<code>负数:-10 正数:10</code>
注意事项:
对于负数的最小值INT_MIN,
abs()函数会返回
INT_MAX而不是
INT_MIN的正数表示。 第二种方法只适用于有符号整数。
