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

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

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;  

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

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

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

    原文作者:lee_u
    原文地址: https://blog.csdn.net/lee_u/article/details/52461588
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞