一、正数

(1)执行~0001后 为1110(内存中就是这样存储0001取反的结果的)

这个结果是以补码的方式存储的

但是真真的显示的时候往往用原码,就是1010了<最高位为符号位,这里为1,就是负号,010为2,所以结果为-2,原码的显示是为了直观,真真的运算都是以补码来运算的>

~0001的结果就是-2,-2的原码就是1010,补码为1110

(2)25在内存中的存储为:0000 0000 0001 1001

就是~25=1111 1111 1110 0110<内存中储存这个结果>

用原码来显示:~25的原码为补码取反+1<符号位不动>

那么就为:1000 0000 0001 1001 + 1 = 1000 0000 0001 1010

最高位为符号位这里为负号,1000 0000 0001 1010=-26

所以结果为:-26

二、负数

计算机里存负数是用补码表示的,取反是反补码取反,补码取反,连符号位一起变反

#include "stdio.h"

int main(){

int a = -20;

//1000 0000 0001 0100

//1111 1111 1110 1100

//0000 0000 0001 0011

int b = 2;

//0000 0000 0000 0010

//1111 1111 1111 1101

//1000 0000 0000 0011

int c = -10;

//1000 0000 0000 1010

//1111 1111 1111 0110

//0000 0000 0000 1001

int d = 10;

//0000 0000 0000 1010

//1111 1111 1111 0101

//1000 0000 0000 1011

printf("a=%d,b=%d,c=%d,d=%d\n",~a,~b,~c,~d);

}

转载于:https://www.cnblogs.com/ZhangYuGe/p/4130962.html

C语言----取反~相关推荐

  1. C语言 ~ 取反操作

    由于负数的原码,补码,反码不同 在使⽤~计算负数时,由于在计算机中,负数的补码,反码,原码不同,因此⾸先将操作数的值计算为补码,再进⾏取反运算 反码->补码->取反 正数(正数的补码,反码 ...

  2. C语言~取反关键字//~1不是0

    先上码 #include <bits/stdc++.h> using namespace std;int main() {char ch = 0;while(~scanf("%c ...

  3. c51单片机c语言取反运算符,单片机c语言教程:C51运算符和表达式

    在制作电路前我们先来看看要用的 MAX232,这里不去具体讨论它,只要知道它是 TTL和 RS232 电平相互转换的芯片和基本的引脚接线功能就行了.通常我会用两个小功率晶体管加少量的电路去替换MAX2 ...

  4. 【STM32】位操作、按位与、按位或、按位异或、取反、左移、右移等基础 C 语言知识补充

    文章目录 1 位操作 1.1 按位与 1.2 按位或 1.3 按位异或 1.4 取反 1.5 左移 1.6 右移 2 单片机中常用操作 2.1 不改变其他位时,对某几个位设定值 2.2 移位操作提高代 ...

  5. C语言优先级——取反和移位

    遇到一个面试题: unsigned char a=0xA5; unsigned char b=~a>>4; 结果是245,提示的是先提升类型然后移位,然后取反,然后截断. 但是单目运算符的 ...

  6. C语言对p1口取反,单片机c语言编程基础(5页)-原创力文档

    单片机的外部结构: 1. DIP40双列直插: 2. P0,P1,P2,P3四个8位准双向I/O引脚:(作为I/O输入时,要先输出高电平) 3. 电源VCC(PIN40)和地线GND(PIN20): ...

  7. (转载)C语言右移运算符的问题(特别当与取反运算符一起时)

    (转载)http://hi.baidu.com/fanggai/item/1c44f1f2e3d81dc4a935a266 关键词:C语言,右移运算符,右移运算符+取反运算符,算术右移 环境:VC6. ...

  8. C语言的取反操作(15)

    C语言的取反操作由于取两次复原.所以经常用于加密系统: /**/ /************************************************************  Copy ...

  9. 什么叫取反_取反位什么意思_c语言按位取反什么意思

    PHP中使用按位取反(~)函数创建后门 - 微信公 580x300 - 60KB - PNG PHP中使用按位取反(~)函数创建后门 - 微信公 310x145 - 26KB - JPEG [东方新闻 ...

最新文章

  1. 【OpenCV 4开发详解】图像直方图绘制
  2. C#DateTime为“ YYYYMMDDHHMMSS”格式
  3. matlab 对mnist手写数字数据集进行判决分析_人工智能TensorFlow(十四)MINIST手写数字识别...
  4. mysql数据库运行远程用户访问不了_MySQL数据库远程访问权限如何打开(两种方法)...
  5. LeetCode 14 最长公共前缀
  6. spring smtp_使用Spring使用Java发送电子邮件– GMail SMTP服务器示例
  7. 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决
  8. BATJ原来是这样玩大数据的!
  9. 信息学奥赛一本通(2028:【例4.14】百钱买百鸡)
  10. teamcity mysql 配置_TeamCity : Build 基本配置
  11. *args和**kargs
  12. 用户关闭浏览器页器,弹出一个提示
  13. smartdns使用指南_SmartDNS配合某插件进阶上网使用教程(基于N1盒子Op系统)
  14. CSS3 动画、变形效果
  15. java实现网络连接_Java 网络编程 | 菜鸟教程
  16. 支付宝和淘宝网的一些伦理道德问题
  17. 利用js实现页面刷新
  18. Python 微信自动化工具开发系列01_自动获取微信聊天信息(2023年1月可用)
  19. SSM项目-我爱我家(二)
  20. 抖音seo源码,抖音矩阵,抖音seo系统,抖音搜索排名

热门文章

  1. MySQL——数据库 ——简单程序代码大全
  2. 中国节日主题网站设计 红色建军节HTML+CSS 红色中国文化主题网站设计 HTML学生作业网页
  3. Mui框架的遇到的问题记录
  4. 在运行局域网中另一台电脑上的程序时,总是弹出“无法验证发行者,确定要运行此软件吗”
  5. SATA硬盘AHCI模式安装win2003时蓝屏
  6. 入侵防御(IPS)技术,怎么做好入侵防护
  7. matlab之“audioread”函数帮助文档翻译
  8. Python(x,y)
  9. APP稀有资源及19种无需编程的App创建工具
  10. java实现下载并选择保存路径