(unsigned)~0
とはどう違いますか(unsigned)1
?なぜunsigned
ofとof~0
はなのです か? 符号なしの数値がメモリに格納される方法と関係がありますか。符号なしの数値で符号付きの結果が得られるのはなぜですか。オーバーフローエラーも発生しませんでした。私は コンパイラを使用しています:-1
unsigned
1
1
GCC
#include<sdio.h>
main()
{
unsigned int x=(unsigned)~0;
unsigned int y=(unsigned)1;
printf("%d\n",x); //prints -1
printf("%d\n",y); //prints 1
}