C 练习实例55-学习使用按位取反~

复习知识点

原码:最高位为符号位,0代表正数,1代表负数

反码:正数的反码与原码一致,负数的反码保持符号位不变,其余的按位取反

补码:正数的补码与原码一致,负数的补码等于其反码加一 

以 5 和 -5 为例

数字 原码 反码 补码
5 0000 0101 0000 0101 0000 0101
-5 1000 0101 1111 1010 1111 1011

对 5 进行按位取反的结果推演

0000 0101按位取反(~)

1111 1010(计算机内的数字是以补码的形式存在的,所以这是个补码,需要倒推出它的原码)

最高位为1,说明是个负数

补码=反码+1

反码=补码-1

反码  =  1111 1010  -  0000 0001  =  1111 1001

保持反码符号位不变,其余按位取反可得原码

1111 1001取反=1000 0110=-6(十进制)

对按位取反后得二进制结果1111 1010保持符号位不变,然后取反加一也可得原码

1111 1010取反=1000 0101

1000 0101 + 1 = 1000 0110=-6

代码

#include <stdio.h>
int main()
{
	int a=5;
	int b=~a;
	printf("%d",b);
	return 0;
}

结果

-6

相关推荐

  1. C 练习实例55-学习使用~

    2024-02-04 20:18:02       19 阅读
  2. python实例100第51例:学习使用与 & 。

    2024-02-04 20:18:02       28 阅读
  3. 题目:学习使用与 & 。

    2024-02-04 20:18:02       11 阅读
  4. 题目:学习使用异或 ^

    2024-02-04 20:18:02       18 阅读
  5. C++运算

    2024-02-04 20:18:02       16 阅读
  6. C 练习实例75-输入一个整数,并将其转后输出

    2024-02-04 20:18:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-04 20:18:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-04 20:18:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-04 20:18:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-04 20:18:02       18 阅读

热门阅读

  1. go使用gopprof分析内存泄露

    2024-02-04 20:18:02       33 阅读
  2. Go 语言实现并发、通道原理(附带案例)

    2024-02-04 20:18:02       33 阅读
  3. 自学PyQt6杂记索引

    2024-02-04 20:18:02       29 阅读
  4. Understanding TCP Congestion Control

    2024-02-04 20:18:02       28 阅读
  5. 数据库||数据库相关知识练习题目与答案

    2024-02-04 20:18:02       28 阅读