C 语言的 sign 函数根据给定整数的符号返回以下值:正数返回 1负数返回 -1零返回 0该函数通过移位运算确定整数符号,MSB 为 0 表示正数(返回 1),MSB 为 1 表示负数(返回 -1),MSB 为 0 表示零(返回 0)。

C 语言中 sign 函数
引言
C 语言中的 sign 函数确定给定整数的符号。
函数原型int sign(int x);
参数
立即学习“C语言免费学习笔记(深入)”;
-
x:要确定符号的整数。
返回值
-
返回值可以是以下三个值之一:
- 如果
x为正,则返回 1。 - 如果
x为负,则返回 -1。 - 如果
x为零,则返回 0。
- 如果
工作原理
sign 函数使用移位运算来确定给定整数的符号。
- 如果
x的最高有效位(MSB)为 0,则x为正数,函数返回 1。 - 如果
x的最高有效位为 1,则x为负数,函数返回 -1。 - 如果
x为零,则最高有效位为 0,函数返回 0。
示例
#includeint main() { int num1 = 5; int num2 = -12; int num3 = 0; printf("sign(%d) = %d\n", num1, sign(num1)); // 输出:sign(5) = 1 printf("sign(%d) = %d\n", num2, sign(num2)); // 输出:sign(-12) = -1 printf("sign(%d) = %d\n", num3, sign(num3)); // 输出:sign(0) = 0 return 0; }
输出
sign(5) = 1 sign(-12) = -1 sign(0) = 0











