Namespaces
Variants

signbit

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
(C99)
(C99)
signbit
(C99)
(C23)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
ヘッダーで定義 <math.h>
#define signbit( arg ) /* implementation defined */
(C99以降)

指定された浮動小数点数 arg が負であるかどうかを判定します。このマクロは整数値を返します。

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - HTMLタグ、属性、
タグ内のテキストは翻訳していません
- C++固有の用語(Parameters、Return value、Notes、Example、References、See also)は原文のまま保持しました
- 元の書式と構造を完全に保持しています

パラメータ

arg - 浮動小数点値

戻り値

arg が負の場合、非ゼロの整数値、 0 それ以外の場合。

注記

このマクロは、ゼロ、無限大、NaNの符号ビットを検出します。 copysign と共に、このマクロはNaNの符号を調べるための移植性のある2つの方法のうちの1つです。

#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("signbit(+0.0) = %d\n", signbit(+0.0));
    printf("signbit(-0.0) = %d\n", signbit(-0.0));
}

出力例:

signbit(+0.0) = 0
signbit(-0.0) = 128

参考文献

  • C23規格 (ISO/IEC 9899:2024):
  • 7.12.3.6 signbitマクロ (p: TBD)
  • C17規格 (ISO/IEC 9899:2018):
  • 7.12.3.6 signbitマクロ (p: TBD)
  • C11規格 (ISO/IEC 9899:2011):
  • 7.12.3.6 signbitマクロ (p: 237)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.12.3.6 signbitマクロ (p: 218)

関連項目

(C99) (C99)
浮動小数点値の絶対値を計算する ( |x| )
(関数)
指定された値の大きさと別の指定された値の符号を持つ値を生成する
(関数)