32ビットシステム上のCでは、どのデータ型が最大の整数を格納する(したがって印刷することができる)のでしょうか?それはlong long
またはunsigned long
ですか? unsigned long long
はありますか?そして、それは最も正確で政治的に正しいですか? ISO C99 long long
で整数を格納(および印刷)するための最大データ型は何ですか?
答えて
あなたの質問は少し不明ですが、intmax_t
が最大の符号付き整数値型(uintmax_t
は符号なし整数型が最大)です。これらは<stdint.h>
で定義されているのtypedefですが、あなたがそれらを印刷している場合は、代わりに<inttypes.h>
を必要とし、nはの種々の値に対するPRInMAXマクロ。あなたが最大の符号付き値より1桁長い最大符号なしの値を有する整数型がない限り
そして 'uintmax_t'(実装がそれらをサポートしている場合、それらはC99で追加されました)。 –
'%jd'と'%ju'は 'intmax_t'と' uintmax_t'を印字するためにはうまくいきませんか?出典: - [最新の自由に入手可能なc11ドラフト](http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf)、 'fprintf'のセクション7.21.6.1を参照してください。 –
最大標準整数データ型である、少なくとも64ビットです。それはまたunsigned long long
として来る。どうやら、あなたのコンパイラは、intmax_t
とuintmax_t
で定義されるより大きな型を提供するかもしれません。
しかし、あなたがGMPようBIGINTライブラリを探しているかもしれないあなたのコメントに基づいて。これにより、システムリソースだけで長さが制限された任意の長整数(および浮動小数点)が可能になります。
はい( 'long long'と' unsigned long long'は異なる型です)、実装は 'long long'よりも広い*拡張整数型*を持つことができます。 '
@KeithThompsonありがとうございました。 – ChrisWue
最長印刷文字列とデータ型は、署名されたデータ型です。署名された場合
は、例えば、符号無しの4ビット整数は、最大で2つの文字の符号なし又は1つの文字プラスマイナス記号であろう。
したがって、最大の印刷文字列を表す署名付きデータ型を選択する必要があります。どちらがlong long
である必要があります。遠回しに言うなし
'int64_t'と' uint64_t'の最長印刷文字列は、それぞれ同じ長さの '-9223372036854775808'と' 18446744073709551615'です。 –
私は、我々がこれを行うことができると思いBT、時には実際のコーディングの練習にはいdefintlyいくつかの大会で1は非常に大きなデータ型を必要とするかもしれないではないBTことを言いたいです。なぜ文字列の形で配列全体を取らないし、それは私が:: politcally正しいと思います:)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
char bigString [256];
printf ("Enter a number: ");
fgets (bigString, 256, stdin);
i = atoi (bigString);
printf ("The value entered is %d.",i);
return 0;
}
変換された値はまだオーバーフローの原因となる整数に格納する必要があります。 – Sinstein
- 1. MySQLのdoubleおよびfloatデータ型の最大精度は何ですか
- 2. 大きな数字を格納するget()およびpeek()ヘルプ
- 3. 静的テーブルのデータを格納およびアクセスする最も良い方法は何ですか?
- 4. SQL Server 2008に整数値を格納する最小のデータ型はどれですか?
- 5. 暗号化されたフィールドデータを格納するための最適なデータ型
- 6. SQL Serverクラスタに格納される最大データは何ですか?
- 7. PHPコードを格納するためのベストmysqlデータ型?
- 8. JWTトークンを格納するのに最適なMYSQLまたはMaria DBデータ型は何ですか?
- 9. コアデータにGUIDを格納するために使用するデータ型は何ですか?
- 10. ASP.netセッション変数に格納されるデータの最大量
- 11. 数十億の整数を格納するデータ構造
- 12. 大きなデータセットへのアクセスおよび/またはそれらの格納
- 13. 地理座標を格納および照会するためのPythonモジュール
- 14. MIPS:整数データをファイルから配列に格納する
- 15. 最大数の要素をキューに入れるための最も効率的なデータ格納オブジェクト
- 16. RSAキーを格納するのに最適なmysqlデータ型?
- 17. 位置情報を格納するための最良のデータ構造とは何ですか?
- 18. 非常に大きな整数をMySQLに格納する
- 19. ココアタッチの中で最大の整数型データ型は何ですか?その数値はどれくらい大きくなりますか?
- 20. 印刷文字は整数
- 21. 未知の整数型の最大値を求める方法
- 22. 隔離ストレージファイルにデータを格納および取得する方法は?
- 23. ファイルを格納するデータ型
- 24. 整数をcharキーで格納するときに使用する最適なマップ実装は何ですか?
- 25. SQL Serverにコメントを格納するのに最適なデータ型は何ですか?
- 26. 大規模なテキストファイルとバイナリデータをSQLiteでRailsに格納するために使用するデータ型
- 27. PdfSharp、GDI +、およびHTML印刷
- 28. NSUserDefaultsは複数の異なるデータ型を格納できますか?
- 29. 整数の印刷mips
- 30. SQL Server 2005 - RowSetを格納する変数のデータ型
あなたは大きな表示する機能を持つだけで気になる場合は整数値を取得するにはATOI機能を使用します数字、私はchar *に投票します。 :) –
あなたは間違った質問をしているかもしれません。 *あなたはどれくらい行く必要がありますか?* – Jon
はい、C99は 'unsigned long long'プリミティブ型をサポートしていますが、C90はサポートしていません。そして野生のCコンパイラの多くはまだC90なので、答えはノーかもしれません。あなたはどちらを使用していますか興味がありますか? –