当前位置: 首页 > news >正文

女主网站和男主做php网站建设到护卫神

女主网站和男主做,php网站建设到护卫神,北京公司摇号中签率,wordpress自动tag前言#xff1a;本节内容介绍的操作符#xff0c;操作的对象是二进制位。所以前面先介绍整数的二进制位 一、二进制位介绍 1.二进制介绍 #xff08;1#xff09;整数的二进制表示形式有三种#xff1a;原码、反码和补码。 #xff08;2#xff09;原码、反码和补码的… 前言本节内容介绍的操作符操作的对象是二进制位。所以前面先介绍整数的二进制位 一、二进制位介绍 1.二进制介绍 1整数的二进制表示形式有三种原码、反码和补码。 2原码、反码和补码的长度有数据类型来决定如整数就是四个字节转化后是三十二位比特位所以一个整数写成二进制序列的时候是32个bit位。 3数据是以补码的形式在内存中存储的。 4正负数原码、反码和补码不一样 2.正数三码的介绍 1正数的原码、反码和补码都一样不需要计算可以直接得出来。 2举例 7我们先把7转化成二进制数111由于整数的二进制序列是32位所以其他我需要补0就写成这样 原码00000000 00000000 00000000 00000111 反码00000000 00000000 00000000 00000111 补码00000000 00000000 00000000 00000111 3二进制数为11  二进制序列 原码00000000 00000000 00000000 00000011 反码00000000 00000000 00000000 00000011 补码00000000 00000000 00000000 00000011 3.负数三码的介绍 我们接下来重点介绍负数的原码、反码和补码 1原码 对于有符号的整数来说最高位的一位是符号位符号位是1表示负数符号位是0表示正数。若是无符号数没有符号位所有位都是有效位。数字0则当成无符号数来看待。 正数 负数 对于有符号数来说正负数原码的差异就是在最高位。 2反码 1.反码顾名思义就是取反。 定义反码是在原码的基础上除了符号位其他按位取反1的话就写成00就写成1。 2.-7的反码 原码10000000 00000000 00000000 00000111 反码11111111  11111111   11111111  11111000 3补码 1.定义补码则是在反码的基础上1。 2.-7的补码 原码10000000 00000000 00000000 00000111 反码11111111  11111111   11111111  11111000 补码11111111  11111111   11111111  11111001 而补码就是数据在内存中的存储形式。所以整数在计算的时候使用的也是补码。 总结三码的转换规则原码----(取反)---反码-----(1)----补码 补码----(-1)---反码----取反---原码 补码----(取反1)---原码 二、移位操作符 前言移位操作符包括左移操作符和右移操作符 1.左移操作符 (1)常用口诀左边丢弃右边补0 (2)代码演示 #includestdio.h int main() {int a 7;int b a 1;//a向左移动一位printf(%d\n,a);//a的本质没有改变printf(%d\n,b);return 0; } 代码结果 由上面很清楚的就可以知道其实a的值还是-7没有改变。 代码演示2 #includestdio.h int main() {int a -7;//将a的值改成负数int b a 1;int c a 2;printf(%d\n,a);printf(%d\n,b);printf(%d\n,c);return 0; } 运行结果 两次代码演示初步总结左移一位结果在原数据基础上×2左移两位结果在原数据基础上×3但原数据的值不会改变。 3左移符号解析 左移符号移动的是补码但是打印的时候打印的是原码。 正数左移7 原码00000000 00000000 00000000 00000111 反码00000000 00000000 00000000 00000111 补码00000000 00000000 00000000 00000111 正数的左移比较容易看出来因为原码、反码和补码都相同 负数右移-7 原码10000000 00000000 00000000 00000111 反码11111111  11111111   11111111  11111000 补码11111111  11111111   11111111  11111001 总结     无论正数还是负数左移的结果都会×2。 记忆口诀左边丢弃右边补0。 2.右移操作符 1右移操作符分类 右移操作符包括算术右移和逻辑右移 逻辑右移右边直接丢弃左边补0 算术右移右边直接丢弃左边补原符号位正数补0负数补1-----------常用选择 我们下面的例子也都用算术右移来演示 2代码演示 #includestdio.h int main() {int a 10;int b a 1;printf(%d\n, a);printf(%d\n, b);int c -10;int d c 1;printf(%d\n, c);printf(%d\n,d);return 0; } 运行结果 其实不难发现算术右移其实也有一种÷2的效果。 3右移图示解析 总结大多数编译器都是使用算术右移效果相当于÷2 算术右移口诀右边丢弃左边补原符号位 3.左移、右移总结 1移动的对象只能是整数 2只能移动正整数位比如左移一位、右移两位。 3移动后不会改变原数据的值 4移动的是二进制的补码打印的结果是二进制的原码 三、位操作符 前言位操作符的对象仍然是二进制的补码他们必须有两个操作对象 1.按位与 1定义 两个对象的补码比较相同位有0则结果位0相同位都是1结果才为1。 2代码演示 #includestdio.h int main() {int a 5;int b 7;int c a b;//将按位与的结果赋值给cprintf(%d\n,c);return 0; } 运行结果 3代码分析 我们先列出5和7的补码 5的补码00000000 00000000 00000000 00000101 7的补码00000000 00000000 00000000 00000111 图解 4实列讲解 根据有0为0两个1才为1的特点可以按位与1来确定最低一位最右一边是1或者0。 代码演示 #includestdio.h int main() {int a 3;int b a 1;printf(%d\n,b);return 0; } 运行结果 结果分析 3的补码00000000 00000000 00000000 00000011 1的补码00000000 00000000 00000000 00000001 所以任何数按位与1得出的结果为1则该数的二进制最低为是1如果是0则最低为是0。当然要知道该数的二进制序列的所以1则需要配合右移符号使用后续补充 2.按位或| 1定义 二进制序列对应位上有1则为1两个相同才为0。 2代码演示 #includestdio.h int main() {int a 5;int b -3;int c a | b;//按位或printf(%d\n,c);return 0; } 运行结果 3代码解读 5的补码00000000 00000000 00000000 00000101 -3的补码11111111 11111111 11111111 11111101 3.按位异或^ 1定义 对应的二进制位相同为0相异为1 由此而来的知识点a^a0          a^0a 2代码演示 #includestdio.h int main() {int a 5;int b -3;int c a ^ b;//按位异或printf(%d\n, c);return 0; } 运行结果 3代码解读 5的补码00000000 00000000 00000000 00000101 -3的补码11111111 11111111 11111111 11111101 4实例讲解 题目在不借助第三方变量的情况下交换两个变量的值 代码演示 #includestdio.h int main() {int a 520;int b 1314;a a ^ b;b a ^ b;//此时的aa^ba a ^ b;printf(a%d b%d\n,a,b);return 0; } 运行结果 代码解读 第一步aa^b这个结果先不要算出来 第二步ba^b这个时候左边的aa^b所以整个等式变成ba^b^b因为b^b0且a^0a所以此时就将a的值赋给了b 第三步aa^b此时左边的aa^bba所以左边a^b^ab,所以就将b赋值给了a完成两个数的交换 四、某些复合赋值操作符和一个单目操作符 前言操作对象都是二进制的补码 1.复合赋值操作符 1赋值操作符的介绍 右移等 左移等 按位与等 |       按位与等 ^      按位异或等 2使用方法 上面的这些符号就多了一个等号就如同一样 代码举例 #includestdio.h int main() {int a 5;a a 1;//普通写法a 1;//复合写法a a 1;a 1;a a 2;a 2;//复合写法a a | 4;a | 4;a a ^ 1;a ^ 1;return 0; } 2.一个单目操作符 1定义~一个波浪号 作用对一个数的二进制按位取反 2代码演示 #includestdio.h int main() {int a 0;printf(%d\n,~a);//单目操作符return 0; } 运行结果 3例子 #includestdio.h int main() {int a 10;a | (1 4);//控制二进制将10变成26printf(%d\n,a);//再将26变回10a (~(1 4));printf(%d\n,a);return 0; } 10的补码00000000 00000000 00000000 00001010 26的补码00000000 00000000 00000000 00011010 10变成26 26变回10只需将该位置按位与上0即可
http://www.eeditor.cn/news/118616/

相关文章:

  • 沈阳建设厅官方网站河南郑州最新消息
  • 网站上传到万网主机什么叫前端什么叫后端
  • 地方网站收录广州最新新闻头条
  • 太原网站建设杰迅科技淮安市交通建设局网站
  • 公司网站免费建立阿里巴巴国际站怎么做网站模版
  • 空间安装wordpress后很卡seo整站优化托管
  • 网站加水印怎么自己做网站凑钱
  • 网站模板受法律版权保护吗网站备案 前置审批文件
  • 关于建设工程招标的网站友情链接交换条件
  • 高密做网站哪家强代理什么叫网站规划
  • 广西智能网站建设报价wordpress remove js
  • 网站建设实验报告总结网站开发工程是待遇
  • 兴业大街网站建设那个网站做港货比较好
  • 咨询网站 模板海外社交网站开发
  • 建设网站都需要哪些资料国外网建站
  • 网站突然找不到了 然后降权重 排名不变html网站建设实例教程
  • 建立网站pptwordpress ui框架
  • 工程造价信息网官网登录入口浙江seo公司
  • 一般ppt模板都会发不到什么网站四子王旗建设局网站
  • 东莞企业网站seo帝国cms网站迁移
  • 网络公司做网站的合同移动互联网技术学什么
  • 网站建设运营外包个人博客模板 wordpress
  • 给被k的网站做友链电子商务主要学什么内容
  • 怎么用word做网站入侵网站被判多少年
  • 铜陵网站建设价格中国企业网网址
  • 如何防止网站被采集php网站只能打开首页
  • 怎么做网站教程 建站视频微信系统平台开发
  • 做公司的网站公司网站 seo
  • 值得做的网站北京公司网站制作
  • 网站报名怎么做代码软件