68
68
69
69
</ head >
70
70
< body >
71
- < header data-kunai-mdinfo ="{"meta": {"header": ["cstdint"], "namespace": ["std"], "id-type": ["type-alias"], "cpp": ["cpp11"]}, "sources": [], "page_id": ["reference", "cstdint", "int_fast64_t"]} ">
71
+ < header data-kunai-mdinfo ="{"meta": {"header": ["cstdint"], "namespace": ["std"], "id-type": ["type-alias"], "cpp": ["cpp11"]}, "sources": [{"id": "95a2db76e26acba768522538612725069d9f9c16", "source": "#include <iostream>\n#include <cstdint>\n#include <type_traits>\n#include <limits>\n\nint main()\n{\n // int_fast64_t\u306e\u4f7f\u7528\u4f8b\n std::int_fast64_t value = 1234567890123456789LL;\n\n // \u5024\u3092\u51fa\u529b\n std::cout << \"value: \" << value << std::endl;\n\n // \u30b5\u30a4\u30ba\u3092\u78ba\u8a8d\uff08\u51e6\u7406\u7cfb\u306b\u3088\u3063\u3066\u7570\u306a\u308b\u53ef\u80fd\u6027\u304c\u3042\u308b\uff09\n std::cout << \"size of int_fast64_t: \" << sizeof(std::int_fast64_t) << \" bytes\" << std::endl;\n\n // \u6700\u5c0f\u5024\u3068\u6700\u5927\u5024\n std::cout << \"minimum value: \" << std::numeric_limits<std::int_fast64_t>::min() << std::endl;\n std::cout << \"maximum value: \" << std::numeric_limits<std::int_fast64_t>::max() << std::endl;\n\n // int64_t\u3068\u306e\u6bd4\u8f03\n std::cout << \"int_fast64_t is the same as int64_t: \" \n << std::is_same<std::int_fast64_t, std::int64_t>::value << std::endl;\n\n // \u6f14\u7b97\u306e\u4f8b\uff08\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u306b\u6ce8\u610f\uff09\n std::int_fast64_t a = 9000000000000000000LL;\n std::int_fast64_t b = 1000000000000000000LL;\n std::int_fast64_t sum = a + b; // \u51e6\u7406\u7cfb\u306b\u3088\u3063\u3066\u306f\u30aa\u30fc\u30d0\u30fc\u30d5\u30ed\u30fc\u306e\u53ef\u80fd\u6027\u3042\u308a\n\n std::cout << \"9000000000000000000 + 1000000000000000000 = \" << sum << std::endl;\n\n return 0;\n}\n"}], "page_id": ["reference", "cstdint", "int_fast64_t"]} ">
72
72
< nav class ="navbar navbar-default " role ="navigation ">
73
73
< div class ="container-fluid ">
74
74
< div class ="navbar-header ">
188
188
189
189
< p class ="text-right "> < small >
190
190
最終更新日時(UTC):
191
- < span itemprop ="datePublished " content ="2024-06-11T13:45:38 ">
192
- 2024年06月11日 13時45分38秒
191
+ < span itemprop ="datePublished " content ="2025-04-25T03:18:20 ">
192
+ 2025年04月25日 03時18分20秒
193
193
</ span >
194
194
< br />
195
195
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
196
- < span itemprop ="name "> Akira Takahashi </ span >
196
+ < span itemprop ="name "> rotarymars </ span >
197
197
</ span >
198
198
が更新
199
199
</ small > </ p >
221
221
< h2 > 概要</ h2 >
222
222
< p > 64ビット以上の、通常最も高速に処理される符号付き整数型。</ p >
223
223
< p > < code > < a href ="int64_t.html "> int64_t</ a > </ code > 型が環境によっては定義されないため、そのような状況でこの型を使用する。</ p >
224
+ < h2 > 例</ h2 >
225
+ < p > < div class ="yata " id ="95a2db76e26acba768522538612725069d9f9c16 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
226
+ < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../cstdint.html "> <cstdint></ a > </ span > < span class ="cp "> </ span >
227
+ < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../type_traits.html "> <type_traits></ a > </ span > < span class ="cp "> </ span >
228
+ < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../limits.html "> <limits></ a > </ span > < span class ="cp "> </ span >
229
+
230
+ < span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
231
+ < span class ="p "> {</ span >
232
+ < span class ="c1 "> // int_fast64_tの使用例</ span >
233
+ < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="n "> value</ span > < span class ="o "> =</ span > < span class ="mi "> 1234567890123456789LL</ span > < span class ="p "> ;</ span >
234
+
235
+ < span class ="c1 "> // 値を出力</ span >
236
+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "value: "</ span > < span class ="o "> <<</ span > < span class ="n "> value</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
237
+
238
+ < span class ="c1 "> // サイズを確認(処理系によって異なる可能性がある)</ span >
239
+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "size of int_fast64_t: "</ span > < span class ="o "> <<</ span > < span class ="k "> sizeof</ span > < span class ="p "> (</ span > < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="p "> )</ span > < span class ="o "> <<</ span > < span class ="s "> " bytes"</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
240
+
241
+ < span class ="c1 "> // 最小値と最大値</ span >
242
+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "minimum value: "</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../limits/numeric_limits.html "> std::numeric_limits</ a > </ span > < span class ="o "> <</ span > < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="o "> >::</ span > < span class ="n "> min</ span > < span class ="p "> ()</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
243
+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "maximum value: "</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../limits/numeric_limits.html "> std::numeric_limits</ a > </ span > < span class ="o "> <</ span > < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="o "> >::</ span > < span class ="n "> max</ span > < span class ="p "> ()</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
244
+
245
+ < span class ="c1 "> // int64_tとの比較</ span >
246
+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "int_fast64_t is the same as int64_t: "</ span >
247
+ < span class ="o "> <<</ span > < span class ="n "> < a href ="../type_traits/is_same.html "> std::is_same</ a > </ span > < span class ="o "> <</ span > < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="p "> ,</ span > < span class ="n "> < a href ="int64_t.html "> std::int64_t</ a > </ span > < span class ="o "> >::</ span > < span class ="n "> value</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
248
+
249
+ < span class ="c1 "> // 演算の例(オーバーフローに注意)</ span >
250
+ < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="n "> a</ span > < span class ="o "> =</ span > < span class ="mi "> 9000000000000000000LL</ span > < span class ="p "> ;</ span >
251
+ < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="n "> b</ span > < span class ="o "> =</ span > < span class ="mi "> 1000000000000000000LL</ span > < span class ="p "> ;</ span >
252
+ < span class ="n "> std</ span > < span class ="o "> ::</ span > < span class ="kt "> int_fast64_t</ span > < span class ="n "> sum</ span > < span class ="o "> =</ span > < span class ="n "> a</ span > < span class ="o "> +</ span > < span class ="n "> b</ span > < span class ="p "> ;</ span > < span class ="c1 "> // 処理系によってはオーバーフローの可能性あり</ span >
253
+
254
+ < span class ="n "> < a href ="../iostream/cout.html "> std::cout</ a > </ span > < span class ="o "> <<</ span > < span class ="s "> "9000000000000000000 + 1000000000000000000 = "</ span > < span class ="o "> <<</ span > < span class ="n "> sum</ span > < span class ="o "> <<</ span > < span class ="n "> < a href ="../ostream/endl.html "> std::endl</ a > </ span > < span class ="p "> ;</ span >
255
+
256
+ < span class ="k "> return</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span >
257
+ < span class ="p "> }</ span >
258
+ </ code > </ pre > </ div >
259
+ </ div > </ p >
260
+ < h3 > 出力例</ h3 >
261
+ < p > < pre > < code > value: 1234567890123456789
262
+ size of int_fast64_t: 8 bytes
263
+ minimum value: -9223372036854775808
264
+ maximum value: 9223372036854775807
265
+ int_fast64_t is the same as int64_t: 0
266
+ 9000000000000000000 + 1000000000000000000 = -8446744073709551616
267
+ </ code > </ pre > </ p >
268
+ < p > この出力例は特定の環境に依存しており、処理系によって異なる可能性があります。特に、< code > int_fast64_t</ code > のサイズやオーバーフロー動作は処理系によって異なることがある。</ p >
224
269
< h2 > バージョン</ h2 >
225
270
< h3 > 言語</ h3 >
226
271
< ul >
@@ -232,6 +277,12 @@ <h3>処理系</h3>
232
277
< li > < a href ="../../implementation.html#gcc "> GCC</ a > : 4.7.0 < span aria-label ="検証済 " role ="img " title ="検証済 "> ✅</ span > </ li >
233
278
< li > < a href ="../../implementation.html#icc "> ICC</ a > : ??</ li >
234
279
< li > < a href ="../../implementation.html#visual_cpp "> Visual C++</ a > : 2010 < span aria-label ="検証済 " role ="img " title ="検証済 "> ✅</ span > , 2012 < span aria-label ="検証済 " role ="img " title ="検証済 "> ✅</ span > , 2013 < span aria-label ="検証済 " role ="img " title ="検証済 "> ✅</ span > </ li >
280
+ </ ul >
281
+ < h2 > 参照</ h2 >
282
+ < ul >
283
+ < li > < code > < a href ="../cstdint.html "> <cstdint></ a > </ code > </ li >
284
+ < li > < code > < a href ="int_fast64_min.html "> INT_FAST64_MIN</ a > </ code > </ li >
285
+ < li > < code > < a href ="int_fast64_max.html "> INT_FAST64_MAX</ a > </ code > </ li >
235
286
</ ul > </ div >
236
287
237
288
</ div >
0 commit comments