引用 7 楼 nirvana_newbie 的回复:a在内存中的二进制存储是0000 0000 0000 0000 0000 0000 0000 0010, b在内存中的二进制存储是0000 0000 0000 0000 0000 0000 0000 0101, 如果a是有符号的int型,那么a-b后得到1111 1111 1111 1111 1111 1111 11……
a在内存中的二进制存储是0000 0000 0000 0000 0000 0000 0000 0010, b在内存中的二进制存储是0000 0000 0000 0000 0000 0000 0000 0101, 如果a是有符号的int型,那么a-b后得到1111 1111 1111 1111 1111 1111 1111 1101(如果不明白,可以去看原码补码反码的相……
引用 9 楼 kin988g 的回复:引用 7 楼 nirvana_newbie 的回复:a在内存中的二进制存储是0000 0000 0000 0000 0000 0000 0000 0010, b在内存中的二进制存储是0000 0000 0000 0000 0000 0000 0000 0101, 如果a是有符号的int型,那么a-b后得到1111 1111 111……
int a = 2; int b = 5; std::cout<< a-b;
int a = 2; unsigned int b = 5; std::cout<<(int)(a-b);
int a = 2; int b = 5; std::cout<<(int)(a-b);
64,654
社区成员
250,484
社区内容
加载中
试试用AI创作助手写篇文章吧