关于 C语言的 按位取反 ~

1、相关概念:

不管是正整数 还是 负整数在计算机中都是以 补码的形式存在的;

取反:0变1,1变0 就叫做取反,取反 符号位也要改变;

反码:符号位不变,其他位置0变1,1变0;

何为补码? 如果有一个二进制位, 它的反码 加1 就是 该二进制位的 补码, 注意是 反码 不是 取反。

2、 正整数的 反码 和补码 是其源码本身;

负整数的 反码 是源码符号位不变,其他位0变1,1变0;补码 是在反码的基础上再加1.

取反 是 在补码的基础上 取反;

3、 正整数的取反过程: 例如 7 (1字节 8位 首位位符号位)

源码: 0000 0111

-> 补码:0000 0111

-> 取反:1111 1000 (后面 还要 取补码,这里是负数,因为计算机中是按照补码存储的)

-> 反码:1000 0111

->反码+1: 1000 1000 即 -8;

负整数的取反过程: 例如 -7 (1字节 8位 首位位符号位)

源码: 1000 0111 (以补码形式存储,先求补码)

-> 反码:1111 1000

->补码:1111 1001

->取反:0000 0110 即 6;

1. 所有正整数的按位取反是其本身+1的负数

2. 所有负整数的按位取反是其本身+1的绝对值

3. 零的按位取反是 -1(0在数学界既不是正数也不是负数)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

英语句型之展现问题篇3

表达不确定的用词:May, seem, be likely to, possible, probably, perhaps, be said that, be said to...51. In my mind, the following factors/reasons/causes need to be taken into consideration我认为,我们需要考虑下列因素/原因:52. …

【noip模拟赛5】任务分配 降维dp

描述 现有n个任务,要交给A和B完成。每个任务给A或给B完成,所需的时间分别为ai和bi。问他们完成所有的任务至少要多少时间。 输入 第一行一个正整数n,表示有n个任务。接下来有n行,每行两个正整数ai,bi。 输出 一个数,他…

解决win7下无法安装突击者NO.69驱动,“WINDOWS已找到设备的驱动程序,但在试图安装它时错误”...

本人装的是win7旗舰版,由于是ghost安装的,缺少一些文件,之前一直无法正确安装突击者电子狗的驱动程序,老是显示“WINDOWS已找到设备的驱动程序,但在试图安装它时错误”,baidu、google了几天都没解决&#x…

C语言 按位或 正整数与负整数 之间

按位或: 两个位 比对时,如果有一个位 为1,结果就为1; 按位或 时 ,都是 按照补码来比对的 ,正数的补码 是 本身,负数的补码 不是本身 所以 正负数按位或 要注意: 举例子:…

使用自定义日志记录处理程序在JBoss AS 7中跟踪SQL语句

使用ORM从您的特定数据库中提取数据,并让它创建和发布您必须亲自编写的所有SQL语句似乎很方便。 这就是使ORM解决方案受欢迎的原因。 但是它也有一个缺点:由于ORM为您做了很多工作,因此您在某种程度上失去了对生成的SQL的控制,您…

C语言 >> 右移位运算符的原理和一些概念

1、右移位于左移位不同 左移位 不管是 逻辑移位 算术移位 都是低位补0; 右移位 的 逻辑移位和算术移位不同, 算术移位高位补符号位,逻辑移位 高位补0; 右移位 使用逻辑移位的话 需要强制转换成unsigned 无符号型; 2…

去除git版本控制

命令:find . -name ".git" | xargs rm –Rflinux $ find . -type d -iname __pycache__ -exec rm -rf {} \;转载于:https://www.cnblogs.com/gispathfinder/p/10555347.html

PHP基础语法6

//PHP循环语句//for循环for ($i 0; $i < 18; $i) {echo $i . <br>;}//while循环$l 0;while ($l < 18) {echo $l . <br>;$l;}//foreache()用于数组循环的语句$arr [a > 1, b > 2];foreach ($arr as $key > $value) {echo $key . . $value . <…

如何在Java中找到整数的质因数–因式分解

编程课程中的常见家庭作业/任务之一是关于Prime Factorization。 要求您编写一个程序以找到给定整数的素因子 。 一个数字的质数因子是将精确地除以给定数字的所有质数。 例如&#xff0c;35的素数因子分别是7和5&#xff0c;它们本身都是素数&#xff0c;并且精确地除以35。上…

Arduino Serial系列函数 有关print read 的总结

总结一下 在学习arduino srial函数时 的几个知识点&#xff1a; /*** 汇总一下Serial.print输出的一些情况&#xff0c;后面部分要和Serial.read配合使用&#xff1b;* 1. print 输出字符 和int数的结果&#xff0c;* 2. print 输出字符串和一连串的数字* 3. read 读取一个字符…

C#经典名著:《C#入门经典》(第4版)

博客园专题&#xff1a;http://book.cnblogs.com/zt/begin_csharp/ 作  者&#xff1a; &#xff08;美&#xff09;沃森&#xff08;Watson&#xff0c;K.&#xff09;&#xff0c;&#xff08;美&#xff09;内格尔&#xff08;Nagel&#xff0c;C.&#xff09; 等著&#…

inheritPrototypal.js

// 原型式继承// 其基本思路是借助原型可以基于已有的对象创建新的对象function object(o){function F(){}F.prototype o;return new F();}var person {name: "Tom",friends: ["Jack", "John", "Kim"]};var David object(person);…

vue 用户输入搜索 与无限下拉

vue项目中,用户输入关键字搜索,并且手机端做无限下拉 watch: {getListForm.searchKey(val) { this.radioChange(); // 还有其他逻辑,内部调用getDeviceList}} 1 getDeviceList() {2 apiGetDeviceList(Qs.stringify(this.getListForm)).then(res > {3 …

您必须学习Java 8的函数式编程吗?

我最近一直在研究Java 8&#xff0c;并掌握了Manning出版的“ Java 8 In Action” 。 让我印象深刻的第一件事是Java 8的独特销售主张是函数式编程。 函数现在是一流的变量&#xff0c;您可以像int或String一样在代码中传递它们。 这是一个很大的变化。 近年来&#xff0c;功能…

鞋扔布什游戏

布什同学立功了&#xff01;&#xff01;在经济如此不景气的情况下&#xff0c;布什给全世界人民增加了一点笑料&#xff0c;多么伟大的奉献精神。 前几天就看到一个Flash游戏&#xff0c;不过那个是扮演保镖&#xff0c;用枪打掉扔向布什的鞋子&#xff0c;很不爽&#xff0c;…

Arduino 软串口通信 的几点体会

1、arduino主板上的 RX TX 引脚 有时不一定够用&#xff0c;这时就需要将别的 引脚 通过软件 模拟成串口通信引脚&#xff0c;但不是每个引脚 都能这么转换&#xff0c;不同的板子&#xff0c;有所不同。 2、arduino Uno 上只有一个 RX TX 引脚&#xff0c;分别是 0和1 引脚…

coffee.js

()( () )( ( () ) )########################################################################### ##################### ################### ##################################### 更多专业前端知识&#xff0c;请上 【…

巨蟒django之权限6: 权限控制表设计登录权限

1.权限控制表设计 内容 1. 什么是权限&#xff1f; 2. 为什么要有权限&#xff1f;不同用户拥有不同的功能 3. 在web开发中&#xff0c;什么是权限&#xff1f;url 代表 权限4. 开发一个权限的组件&#xff0c;为什么要开发组件&#xff1f;5. 表结构的设计# 第一版权限表 pe…

AJAX Tookits -- ConfirmButton

在AJAX Toolkits中有个ConfirmButton的扩展控件&#xff0c;该控件只能应用与Button类型的控件&#xff0c;例如Button和LinkButton。 当你点击按键之后&#xff0c;系统会弹出一个确认框。基本属性如下&#xff1a; TargetControlID - Button或Link的控件编号.ConfirmText - 弹…

JavaMail可能是邪恶的(并迫使您重新启动应用程序服务器)

在配置JavaMail时&#xff0c;总是有一种有趣的方法。 基本上&#xff0c;您必须填写无类型的地图或属性结构&#xff0c;并希望获得正确的解释。 网络上无数的教程显示了使其正常工作&#xff08;发送/接收邮件&#xff09;所需的最小属性。 但是&#xff0c;正如我们痛苦地了…