一个函数就能实现将正数变成对应的负数和将负数变成对应的正数

来源:互联网 发布:马里奥毛瑞尔长相知乎 编辑:程序博客网 时间:2024/04/30 15:39

如何用一个函数就能实现将正数变成对应的负数,将负数变成对应的正数:

int turn(int a)  
{  
    a = ~a + 1;                  
    return a;                      
}                                        
  
int main()  
{  
    printf("%d\n", turn(5));  
    printf("%d\n", turn(0));  
    printf("%d\n", turn(-1));  
    return 0;  

正数取反加一后,得到就是负数的补码,负数是以补码的形式存在内存中,补码转为原码是就是正数要转化后对应的负数

负数取反加一后,得到一个补码,但正数的补码原码一样

注意:取反和取反码是不同的两个概念,运算时都是补码形式参与运算,因为有负数参与

0 0
原创粉丝点击