最新閲覧日:

教えていただきたいのですが、変数の型にlong longやunsigned long long
なるものがあると聞いたのですが、どのようなものでしょうか?
また、どのように宣言するのでしょうか?通常のlongなどと同じ要領で宣言し
てやれば良いのでしょうか?
もし、この型がある場合に、制約はあるのでしょうか?Unixでしか使えないとか
の制約等ありましたらぜひ教えてください。
お願いいたします。

A 回答 (3件)

long longはANSI-Cの新しい改訂版C99で正式に採用されました。


C99以前のANSI-C対応処理系では独自拡張(gccなど)です。
環境の指定が無いので独自拡張は無視してANS-C99について解答します。

long longまたはlong long int=64ビット符号付き整数
unsigned long longまたはunsigned long long int=64ビット符号無し整数

定数の場合はLL(=long long)またはLLU(=unsigned long long)を付加する。
LL,LLU小文字でもよい。
1LL,0LL,100000000000lluなど

long long系の整数使うライブラリ関数について
・printf/scanf系書式の追加
%lld(=long long) および%llu(=unsigned long long)
・その他ライブラリ関数
文字列整数化:strtollが用意される。

現状では日本語で読めるC99の包括的な資料は存在しません。
英語版で良ければC99のドラフトが参考URLで読むことができます。

参考URL:http://anubis.dkuug.dk/JTC1/SC22/WG14/
    • good
    • 1

long long も unsigned long long も新しく追加された型です。


long long:64bit -9223372036854775808~9223372036854775807
unsigned long long:64bit 0~18446744073709551615
という型で64bitであること以外は他の型とshortやlongなどと同じように演算に使用できます。
ただし、新しい型ですので、従来のコンパイラでは対応していない場合が考えられます。

この回答への補足

ありがとうございます。
longやshortと同じ用に使用できると言う事ですが、printfなどを使用して
表示したり、sprintfなどを使用する場合はどのようにしたら良いでしょうか?
書式制御文字が分かりません。
あと、atol()やltoa()などの関数を使用する場合などでは、ライブラリなど
新しいものが要るのでしょうか?

補足日時:2001/03/27 12:00
    • good
    • 1

こんにちは.


下記のサイトを参考にすると,よくわかると思います.
unsignedとは正の整数ということです.

参考URL:http://www.geocities.co.jp/SiliconValley/1002/c9 …
    • good
    • 0
この回答へのお礼

ありがとうございます。
早速確認します。
いろいろと勉強してきます。

お礼日時:2001/03/27 15:05

このQ&Aに関連する最新のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ