A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

改变短整型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;
       }

3 个回复

倒序浏览
支持...        
回复 使用道具 举报
支持原创。。。。加油
回复 使用道具 举报
继续努力
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马