众所周知,c++作为一款很好的编程软件,很受大众欢迎,比如:
……
Visual Studio Dev-c++ ……
然而,在Dev-c++中,有一个代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
char a = 127;
char b = a+1;
printf("b = %d \n",b);
return 0;
}
很显然,先定义了一个char类型的变量A,加以后,应等于:128
是等于:
B = -128 ??????
传说,跟补码有关……
计算机中,有高电压和低电压之分
方案一:
方案二:
所以,127+1 = 0111 1111
+ 1
-----------------------------------------
1000 0000
abs(1000 0000) = abs(128) = -128
so,127+1=-128
学废了吗?