改变短整型1的符号,变为-1
#include <stdio.h>
int main(int argc,const char*argv[]){
short int a=1; //定义一个short类型变量2个字节 16位(其储存的补码为00000000 00000001)
short int a1=a<<15; //-32768 (左移十五位得到10000000 00000000)
a1=(a<<15)-1; //+32767 (左移十五位减一得到01111111 11111111,此时得到的值为-1的补码)
printf("%d\n",a1); // (由于反码+1==补码,则反码==01111111 11111110,原码则为10000000 00000001,就是-1的原码)
return 0;
} |
|