ホームページ  >  記事  >  バックエンド開発  >  C言語での符号関数とはどういう意味ですか?

C言語での符号関数とはどういう意味ですか?

下次还敢
下次还敢オリジナル
2024-04-13 18:09:32878ブラウズ

C 言語の符号関数は、指定された整数の符号に従って次の値を返します。正の数は 1 を返し、負の数は -1 を返し、ゼロは 0 を返します。この関数はシフト演算によって整数の符号を決定します。 MSB 0 は正の数 (1 を返す)、MSB 1 は負の数 (-1 を返す)、MSB 0 はゼロ (0 を返す) を意味します。

C言語での符号関数とはどういう意味ですか?

#C 言語の符号関数

はじめにC 言語の符号関数C 言語関数は、指定された整数の符号を決定します。

#関数プロトタイプ

intsign(int x);
##パラメータ

##xxx: 符号を決定する整数。

  • 戻り値

戻り値は、次の 3 つの値のいずれかになります。

    #xx
  • が正の場合、1 が返されます。

    #xx
      が負の場合、-1 が返されます。
    • xx が 0 の場合、0 を返します。
    • 仕組み
    • sign 関数はシフト演算を使用して、指定された整数の符号を決定します。
  • x
の最上位ビット (MSB) が 0 の場合、

x は正の数となり、関数は 1 を返します。

x
    の最上位ビットが 1 の場合、
  • x は負の数となり、関数は -1 を返します。 x
  • が 0 の場合、最上位ビットは 0 となり、関数は 0 を返します。
  • #例
    <code class="c">#include <stdio.h>
    
    int 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;
    }</code>
  • 出力
    <code>sign(5) = 1
    sign(-12) = -1
    sign(0) = 0</code>

以上がC言語での符号関数とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。