'\" te .\" Copyright (c) 2009, 2012, Oracle and/or its affiliates.All rights reserved. .\" Copyright 1992, X/Open Company Limited All Rights Reserved .\" Portions Copyright (c) 1982-2007 AT&T Knowledge Ventures .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation.Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html. This notice shall appear on any product containing this material. .TH printf 1 "2012 年 5 月 23 日" "SunOS 5.11" "ユーザーコマンド" .SH 名前 printf \- 書式設定された出力の書き込み .SH 形式 .SS "/usr/bin/printf" .LP .nf \fBprintf\fR \fIformat\fR [\fIargument\fR]... .fi .SS "ksh" .LP .nf \fBprintf\fR \fIformat\fR [\fIstring\fR...] .fi .SH 機能説明 .SS "/usr/bin/printf" .sp .LP \fBprintf\fR ユーティリティーは、出力書式を制御する \fIformat\fR を使用して、各文字列オペランドを標準出力に書き込みます。 .SH オペランド .SS "/usr/bin/printf" .sp .LP \fB/usr/bin/printf\fR では次のオペランドがサポートされています。 .sp .ne 2 .mk .na \fB\fIformat\fR\fR .ad .RS 12n .rt 残りのオペランドの書き込みに使用する書式を記述する文字列。\fIformat\fR オペランドは、\fBformats\fR(5) マニュアルページに記載されている \fIformat\fR 文字列として使用されますが、次の例外があります。 .RS +4 .TP .ie t \(bu .el o 形式文字列内の\fBスペース\fR文字は、変換指定のフラグ以外のどのコンテキストでも、出力にコピーされる通常の文字として扱われます。 .RE .RS +4 .TP .ie t \(bu .el o 書式文字列の文字は文字として扱われ、\fBSPACE\fR 文字としては扱われません。 .RE .RS +4 .TP .ie t \(bu .el o \fBformats\fR(5) マニュアルページに記載されているエスケープシーケンス (\fB\\\fR、\fB\a\fR、\fB\b\fR、\fB\f\fR、\fB\n\fR、\fB\r\fR、\fB\t\fR、\fB\v\fR) のほかに、\fB\\fR\fIddd\fR。ここで \fIddd\fR は、8 進数によって指定される数値を持つバイトとして書き込まれる、1 桁、2 桁、または 3 桁の 8 進数です。 .RE .RS +4 .TP .ie t \(bu .el o プログラムでは、\fIformat\fR オペランドで指定されていない空白文字を \fBd\fR または \fBu\fR 変換仕様の出力の先頭や末尾に付けません。 .RE .RS +4 .TP .ie t \(bu .el o プログラムでは、\fIformat\fR オペランドで指定されていないゼロを \fBo\fR 変換仕様の出力の先頭に付けません。 .RE .RS +4 .TP .ie t \(bu .el o 追加の変換文字 \fBb\fR は次のようにサポートされます。引数は、バックスラッシュエスケープシーケンスを含むことのできる文字列とみなされます。次のバックスラッシュエスケープシーケンスがサポートされています。 .RS +4 .TP .ie t \(bu .el o \fBformats\fR(5) マニュアルページに示されているエスケープシーケンス (\fB\\\fR, \fB\a\fR、\fB\b\fR、\fB\f\fR、\fB\n\fR、\fB\r\fR、\fB\t\fR、\fB\v\fR) は、それらが表す文字に変換されます .RE .RS +4 .TP .ie t \(bu .el o \fB\0\fR\fIddd\fR。ここで、\fIddd\fR は、8 進数の数値によって指定された数値を持つバイトに変換される、0 桁、1 桁、2 桁、または 3 桁の 8 進数です。 .RE .RS +4 .TP .ie t \(bu .el o \fB\c\fR が記述されると、\fBprintf\fR は、シーケンスを含む文字列オペランド内の残りの文字、残りの文字列オペランド、および \fIformat\fR オペランドの追加の文字を無視します。 .RE .RE バックスラッシュの後に他の文字シーケンスが続く場合の解釈は、不確定です。 .sp 変換された文字列のバイトは、文字列の最後か、または精度の指定によって示されるバイト数に達するまで書き込まれます。精度を省略した場合は無限とみなされるため、変換された文字列の最後までのすべてのバイトが書き込まれます。引数を使用する各仕様について、次の引数オペランドが評価され、以下に指定されるような変換の適切なタイプに変換されます。\fIformat\fR オペランドは、引数オペランドを満たすために必要に応じて再利用されます。追加の \fBc\fR または \fBs\fR の変換仕様は、NULL 文字列引数が指定された場合と同様に評価され、その他の追加の変換仕様は、ゼロ引数が指定された場合と同様に評価されます。\fIformat\fR オペランドに変換仕様が含まれておらず、\fIargument\fR オペランドが存在する場合、結果は未定義です。\fIformat\fR オペランド内の文字シーケンスが \fB%\fR 文字で始まるが、有効な変換仕様を形成していない場合、動作は未定義です。 .RE .sp .ne 2 .mk .na \fB\fIargument\fR\fR .ad .RS 12n .rt \fBformat\fR の制御を受けて、標準出力に書き込まれる文字列。\fIargument\fR オペランドは、対応する変換文字が \fBb\fR、\fBc\fR、または \fBs\fR の場合、文字列として処理されます。それ以外の場合は、ISO C 標準に記載されているように C の定数として評価され、次の拡張があります。 .RS +4 .TP .ie t \(bu .el o 先頭にプラス記号またはマイナス記号が許可されます。 .RE .RS +4 .TP .ie t \(bu .el o 先頭文字が単一引用符または二重引用符の場合、値は、単一引用符または二重引用符に続く文字のベースとなるコードセット内の数値です。 .RE 引数オペランドを、対応する変換仕様に該当する内部の値に完全に変換できない場合、診断メッセージが標準エラーに書き込まれ、ユーティリティーは終了ステータス 0 で終了しませんが、残りのオペランドを引き続き処理し、エラーが検出された時点で蓄積された値を標準出力に書き込みます。 .RE .SS "ksh" .sp .LP \fIformat\fR オペランドは ANSI C/C99/XPG6 書式指定子を完全にサポートするほか、次の指定子もサポートします。 .sp .ne 2 .mk .na \fB\fB%b\fR\fR .ad .RS 6n .rt 文字列オペランド内の各文字は、次のように特別に処理されます。 .sp .ne 2 .mk .na \fB\fB\a\fR\fR .ad .RS 7n .rt 警告文字 .RE .sp .ne 2 .mk .na \fB\fB\b\fR\fR .ad .RS 7n .rt バックスペース文字 .RE .sp .ne 2 .mk .na \fB\fB\c\fR\fR .ad .RS 7n .rt 復帰改行を付加せずに出力を終了します。残りの文字列オペランドは無視されます。 .RE .sp .ne 2 .mk .na \fB\fB\E\fR\fR .ad .RS 7n .rt エスケープ文字 (\fBASCII\fR 8 進数 \fB033\fR) .RE .sp .ne 2 .mk .na \fB\fB\f\fR\fR .ad .RS 7n .rt 用紙送り文字 .RE .sp .ne 2 .mk .na \fB\fB\n\fR\fR .ad .RS 7n .rt 復帰改行文字 .RE .sp .ne 2 .mk .na \fB\fB\t\fR\fR .ad .RS 7n .rt TAB 文字。 .RE .sp .ne 2 .mk .na \fB\fB\v\fR\fR .ad .RS 7n .rt 垂直タブ文字 .RE .sp .ne 2 .mk .na \fB\fB\\\fR\fR .ad .RS 7n .rt バックスラッシュ文字 .RE .sp .ne 2 .mk .na \fB\fB\0\fR\fIx\fR\fR .ad .RS 7n .rt \fBASCII\fR コードを \fB1\fR、\fB2\fR、または \fB3\fR 桁の 8 進数 \fIx\fR で表した 8 ビット文字。 .RE .RE .sp .ne 2 .mk .na \fB\fB%B\fR\fR .ad .RS 6n .rt 引数を変数名として処理し、文字列に変換しないで値を出力します。これは、\fB-b\fR のタイプを持つ変数にもっとも役立ちます。 .RE .sp .ne 2 .mk .na \fB\fB%H\fR\fR .ad .RS 6n .rt 文字 \fB<\fR、\fB&\fR、\fB>\fR、\fB"\fR、および非印字文字を持つ出力文字列で、HTML および XML ドキュメントで使用されるために適切にエスケープされます。 .RE .sp .ne 2 .mk .na \fB\fB%P\fR\fR .ad .RS 6n .rt \fIstring\fR を拡張正規表現として処理し、シェルパターンに変換します。 .RE .sp .ne 2 .mk .na \fB\fB%q\fR\fR .ad .RS 6n .rt 同じ文字列を取得するためにシェルによって読み取り可能になるように引用符で囲まれた、出力 \fIstring\fR。ただし、欠落した文字列オペランドから生成された空の文字列は囲まれません。 .RE .sp .ne 2 .mk .na \fB\fB%R\fR\fR .ad .RS 6n .rt \fIstring\fR をシェルパターン表現として処理し、拡張正規表現に変換します。 .RE .sp .ne 2 .mk .na \fB\fB%T\fR\fR .ad .RS 6n .rt \fIstring\fR を日付/時間文字列として処理し、書式設定します。\fBT\fR には (\fIdformat\fR) を付けることができます。ここで、\fIdformat\fR は、\fBdate\fR(1) コマンドによって定義された日付形式です。 .RE .sp .ne 2 .mk .na \fB\fB%Z\fR\fR .ad .RS 6n .rt 値が \fB0\fR のバイトを出力します。 .RE .sp .LP 数値書式指定子を満たすための \fIstring\fR の変換を実行するとき、\fIstring\fR の最初の文字が \fB"or'\fR の場合、値は \fB"or'\fR に続く文字の基本コードセットでの数値になります。それ以外の場合、\fIstring\fR はシェル算術式のように扱われ、評価されます。 .sp .LP \fIstring\fR オペランドをその書式指定子に該当する適切な値に完全に変換できない場合、エラーが発生しますが、残りの \fIstring\fR オペランドの処理は続行します。 .sp .LP 書式指定子の拡張機能に加えて、ANSI C/C99/XPG6 の次の拡張機能が書式指定子で許可されます。 .RS +4 .TP .ie t \(bu .el o エスケープシーケンス \fB\E\fR および \fB\e\fR は、ASCII の 8 進数 033 のエスケープ文字に展開されます。 .RE .RS +4 .TP .ie t \(bu .el o エスケープシーケンス \fB\cx\fR は CTRL-x に展開されます。 .RE .RS +4 .TP .ie t \(bu .el o エスケープシーケンス \fB\C[.\fR\fIname\fR\fB\&.]\fR は、照合要素 \fIname\fR に展開されます。 .RE .RS +4 .TP .ie t \(bu .el o エスケープシーケンス \fB\x{hex}\fR は、16 進数値 \fBhex\fR に対応する文字に展開されます。 .RE .RS +4 .TP .ie t \(bu .el o 指定された幅の中央になるようにフィールドを調整する、書式修飾子フラグ = を使用できます。出力が端末の場合、バイト数の代わりに文字幅が使用されます。 .RE .RS +4 .TP .ie t \(bu .el o それぞれの整数書式指定子では、幅および精度の後に、2 から 64 までの変換の基数を指定する 3 番目の修飾子を指定できます。この場合、\fB#\fR 修飾子によって、\fIbase\fR\fB#\fR が値の前に配置されるようになります。 .RE .RS +4 .TP .ie t \(bu .el o 基数が指定されない場合に \fB#\fR 修飾子を \fBd\fR 指定子と一緒に使用して、\fBk M G T P E\fR のいずれかの接尾辞とともに、出力を 1000 の累乗の単位で書き出すことができます。 .RE .RS +4 .TP .ie t \(bu .el o \fB#\fR 修飾子を \fBi\fR 指定子と一緒に使用して、\fBKi Mi Gi Ti Pi Ei\fR のいずれかの接尾辞とともに、出力を \fB1024\fR の累乗の単位で書き出すことができます。 .RE .sp .LP \fIstring\fR オペランドが書式指定子よりも多い場合は、書式文字列は最初から再処理されます。\fIstring\fR オペランドが書式指定子よりも少ない場合、\fIstring\fR 指定子は、空の文字列が指定された場合と同様に処理され、数値変換は、\fB0\fR が指定された場合と同様に処理され、時間変換は、\fBnow\fR が指定された場合と同様に処理されます。 .sp .LP \fB/usr/bin/printf\fR は \fBksh\fR の \fBprintf\fR 組み込み関数および \fBprint -f\fR と同等であり、これは追加オプションを指定できます。 .SH 使用法 .SS "/usr/bin/printf" .sp .LP \fBprintf\fR ユーティリティーは、基本とする \fBprintf\fR(3C) 関数と同様、\fB%c\fR 変換仕様を使用するときに、複数バイト文字を扱うための特殊なプロビジョニングを行いません。文字列セットに複数バイト文字がある場合、アプリケーションではこれらのいずれの関数を使用するかについて注意を払う必要があります。 .sp .LP フィールド幅および精度は \fB*\fR として指定できません。 .sp .LP \fB%b\fR 変換仕様は ISO C 標準ではなく、\fBecho\fR ユーティリティーによって提供された文字列オペランド内に展開されるバックスラッシュエスケープを処理するための移植性のある方法としてここで追加されたものです。\fBecho\fR ユーティリティーの従来バージョンのすべての代替として \fBprintf\fR を使用する方法については、\fBecho\fR(1) マニュアルページの使用法セクションも参照してください。 .sp .LP 対応する変換仕様に対して引数を正しく解釈できない場合、\fBprintf\fR ユーティリティーはエラーを報告します。したがって、数値変換に使用される引数の末尾のオーバーフローおよび余分な文字が、エラーとして報告されます。 .sp .LP 引数オペランドが \fBc\fR または \fBs\fR 変換で完全に使用されないか、文字列オペランドの 1 番目または 2 番目の文字が文字の数値を取得するために使用される場合、エラーとみなされません。 .SH 使用例 .SS "\fB/usr/bin/printf\fR の例" .LP \fB例 1 \fR一連のプロンプトの出力 .sp .LP 次の例は、ユーザーに警告したあと、一連のプロンプトを出力して読み取ります。 .sp .in +2 .nf example% \fBprintf "\eaPlease fill in the following: \enName: " read name printf "Phone number: " read phone\fR .fi .in -2 .sp .LP \fB例 2 \fR計算テーブルの出力 .sp .LP 次の例は計算テーブルを出力します。ファイルから正しい回答および間違った回答のリストを読み取り、割合を正しく計算して結果を出力します。数値は右寄せで、1 つのタブ文字で区切られます。割合は小数第 1 位の精度で書き込まれます。 .sp .in +2 .nf example% \fBwhile read right wrong ; do percent=$(echo "scale=1;($right*100)/($right+$wrong)" | bc) printf "%2d right\et%2d wrong\et(%s%%)\en" \e $right $wrong $percent done < database_file\fR .fi .in -2 .sp .LP \fB例 3 \fR数値文字列の出力 .sp .LP 次のコマンド .sp .in +2 .nf example% \fBprintf "%5d%4d\en" 1 21 321 4321 54321\fR .fi .in -2 .sp .sp .LP 結果: .sp .in +2 .nf 1 21 3214321 54321 0 .fi .in -2 .sp .sp .LP \fIformat\fR オペランドは、指定されたすべての文字列を出力するために 3 回使用され、最後の \fB%4d\fR 変換仕様を満たすために \fBprintf\fR によって \fB0\fR が補われています。 .LP \fB例 4 \fR変換エラーの作表 .sp .LP 次の例は、変換エラーを表で示したものです。 .sp .LP \fBprintf\fR ユーティリティーは、数値出力の生成中に変換エラーが検出された場合にユーザーに通知します。これらの結果は、\fIformat\fR オペランドとして \fB%d\fR が指定されたときに、32 ビットの 2 の補数整数が実装された場合に想定されます。 .sp .sp .TS tab() box; cw(1.27i) cw(1.27i) cw(2.96i) lw(1.27i) lw(1.27i) lw(2.96i) . 引数標準診断 5a5T{ printf: 5a は完全に変換されていません T} 99999999992147483647T{ printf: 9999999999: 結果が大きすぎます T} -9999999999-2147483648T{ printf: -9999999999: 結果が大きすぎます T} ABC0T{ printf: ABC が数値ではありません T} .TE .sp .LP 標準出力に表示される値は、関数 \fBstrtol\fR(3C) の戻り値として想定されるものです。類似の対応関係は、\fB %u\fR と \fBstrtoul\fR(3C) との間や、\fB%e\fR、\fB%f\fR、および \fB%g\fR と \fBstrtod\fR(3C) との間に存在します。 .LP \fB例 5 \fR特定のロケールについての出力 .sp .LP 次の例では、特定のロケール用の出力が出力されます。ISO/IEC 646:1991 標準を基本コードセットとして使用したロケールで、次のコマンドがあるとします。 .sp .in +2 .nf example% \fBprintf "%d\en" 3 +3 -3 \e'3 \e"+3 "'-3"\fR .fi .in -2 .sp .sp .LP 結果: .sp .sp .TS tab() box; lw(.5i) lw(5i) lw(.5i) lw(5i) . \fB3\fR定数 3 の数値 \fB3\fR定数 3 の数値 \fB-3\fR定数 -3 の数値 \fB51\fRT{ ISO/IEC 646:1991 標準コードセットでの文字「3」の数値 T} \fB43\fRT{ ISO/IEC 646:1991 標準コードセットでの文字「+」の数値 T} \fB45\fRT{ ISO/IEC 646:1991 標準コードセットでの文字「-」の数値 T} .TE .sp .LP 複数バイト文字を使用するロケールでは、文字の値は、文字の \fBwchar_t\fR 表現と同等の値を意図しています。 .sp .LP 引数オペランドを、対応する変換仕様に該当する内部の値に完全に変換できない場合、診断メッセージが標準エラーに書き込まれ、ユーティリティーは終了ステータス 0 で終了しますが、残りのオペランドを引き続き処理し、エラーが検出された時点で蓄積された値を標準出力に書き込みます。 .SS "\fBksh\fR の例" .sp .LP 次の例は、\fBprintf\fR の \fBksh93\fR バージョンの使用例です。 .LP \fB例 6 \fR代替の浮動小数点表現 1 .sp .LP \fBprintf\fR ユーティリティーは、代替の浮動小数点表現 (“\fB%a\fR”/”\fB %A\fR”の \fBprintf\fR(3C) 項目を参照) をサポートしており、これにより、通常の 16 進数から 10 進数への丸め誤差を回避するフォーマットでの浮動小数点値の出力が可能です。 .sp .in +2 .nf example% printf "%a\en" 2 3.1 NaN .fi .in -2 .sp .sp .LP 結果: .sp .in +2 .nf 0x1.0000000000000000000000000000p+01 0x1.8ccccccccccccccccccccccccccdp+01 nan .fi .in -2 .sp .LP \fB例 7 \fR代替の浮動小数点表現 2 .sp .LP 次の例は、同じ浮動小数点値の 2 つの異なる表現を示しています。 .sp .in +2 .nf example% x=2 ; printf "%f == %a\en" x x .fi .in -2 .sp .sp .LP 結果: .sp .in +2 .nf 2.000000 == 0x1.0000000000000000000000000000p+01 .fi .in -2 .sp .LP \fB例 8 \fRUnicode 値の出力 .sp .LP 次のコマンドは、EURO Unicode 記号 (コードポイント 0x20ac) が出力されます。 .sp .in +2 .nf example% LC_ALL=en_US.UTF-8 printf "\eu[20ac]\en" .fi .in -2 .sp .sp .LP 結果: .sp .in +2 .nf .fi .in -2 .sp .sp .LP ここで、\fB\fR は EURO 通貨記号文字を表します。 .LP \fB例 9 \fRUnicode 文字から Unicode コードポイント値への変換 .sp .LP 次のコマンドは、特定の文字の 16 進値を出力します。 .sp .in +2 .nf example% export LC_ALL=en_US.UTF-8 example% printf "%x\en" "'" .fi .in -2 .sp .sp .LP ここで、\fB\fR は EURO 通貨記号文字 (コードポイント 0x20ac) を表します。 .sp .LP 結果: .sp .in +2 .nf 20ac .fi .in -2 .sp .LP \fB例 10 \fRASCII 文字の数値の出力 .sp .in +2 .nf example% printf "%d\en" "'A" .fi .in -2 .sp .sp .LP 結果: .sp .in +2 .nf 65 .fi .in -2 .sp .LP \fB例 11 \fR言語に依存する日付と時間の書式の出力 .sp .LP 言語に依存する日付と時間の書式を出力するには、次の文を使用できます。 .sp .in +2 .nf example% printf "format" weekday month day hour min .fi .in -2 .sp .sp .LP たとえば、 .sp .in +2 .nf $ printf format "Sunday" "July" 3 10 2 .fi .in -2 .sp .sp .LP 米国の使用法では、書式は次の文字列を指定できます。 .sp .in +2 .nf "%s, %s %d, %d:%.2d\en" .fi .in -2 .sp .sp .LP 次のメッセージを生成します。 .sp .in +2 .nf Sunday, July 3, 10:02 .fi .in -2 .sp .sp .LP EU の使用法では、書式は次の文字列を指定できます。 .sp .in +2 .nf "%1$s, %3$d. %2$s, %4$d:%5$.2d\en" .fi .in -2 .sp .sp .LP 「$」文字は、次のように正しくエスケープする必要があります。 .sp .in +2 .nf "%1\e$s, %3\e$d. %2\e$s, %4\e$d:%5\e$.2d\en" in this case .fi .in -2 .sp .sp .LP 次のメッセージを生成します。 .sp .in +2 .nf Sunday, 3. July, 10:02 .fi .in -2 .sp .SH 環境 .sp .LP \fBprintf\fR の実行に影響を与える次の環境変数についての詳細は、\fBenviron\fR(5) を参照してください。\fBLANG\fR、\fBLC_ALL \fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR、\fBLC_NUMERIC\fR、および \fBNLSPATH\fR。 .SH 終了ステータス .sp .LP 次の終了ステータスが返されます。 .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 正常終了。 .RE .sp .ne 2 .mk .na \fB>\fB0\fR\fR .ad .RS 6n .rt エラーが発生した。 .RE .SH 属性 .sp .LP 属性についての詳細は、マニュアルページの \fBattributes\fR(5) を参照してください。 .SS "/usr/bin/printf" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件text/locale _ CSI有効 _ インタフェースの安定性確実 _ 標準T{ \fBstandards\fR(5) を参照してください。 T} .TE .SS "ksh" .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性タイプ属性値 _ 使用条件system/core-os _ インタフェースの安定性不確実 .TE .SH 関連項目 .sp .LP \fBawk\fR(1), \fBbc\fR(1), \fBdate\fR(1), \fBecho\fR(1), \fBksh\fR(1), \fBprintf\fR(3C), \fBstrtod\fR(3C), \fBstrtol\fR(3C), \fBstrtoul\fR(3C), \fBattributes\fR(5), \fBenviron\fR(5), \fBformats\fR(5), \fBstandards\fR(5) .SH 注意事項 .sp .LP \fBprintf\fR(3C) またはこのマニュアルページに表示されていない書式指定子 (「%」に続く文字) を使用した場合、未定義の動作が発生します。 .sp .LP \fBprintf\fR(3C) またはこのマニュアルページに表示されていないエスケープシーケンス (バックスラッシュ ('\') に続く文字) を使用した場合、未定義の動作が発生します。 .sp .LP 浮動小数点値は C99、XPG6、および IEEE 754 標準の動作に従い、プラットフォームの |\fBlong double\fR| データ型と同じ方法で値を処理できます。 .sp .LP 浮動小数点値では符号が単独で処理されるため、NaN (例: -nan)、無限 (例: -inf) およびゼロ (例: -0.0) などの値に符号を使用できます。