次の問題に出くわしました。誰か助けてもらえますか? ビット単位の操作を使用しようとしていますが、これが 2^50 の値を出力することを期待しています。ただし、出力は0です。印刷できる最大値は2 ^ 31です。これは、通常のintの最大値であるはずですよね?ここで私は何かひどく間違ったことをしていますか?前もって感謝します。
#include<stdio.h> #include<inttypes.h> int main(void) { uint64_t x=(1<<50); printf("%"PRIu64,x); return 0; }