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

微信网站搭建教程电子产品论坛都有哪些

微信网站搭建教程,电子产品论坛都有哪些,wordpress自带主题有什么,蘑菇街的网站建设目录 一、原码、反码、补码 二、位操作符 1、左移操作符是双⽬操作符 移位规则:左边抛弃、右边补 0 2、右移操作符是双⽬操作符 逻辑右移:左边⽤ 0 填充,右边丢弃算术右移:左边⽤原该值的符号位填充,右边丢弃 3、…

目录

一、原码、反码、补码

二、位操作符

1、左移操作符是双⽬操作符

移位规则:左边抛弃、右边补 0

2、右移操作符是双⽬操作符

逻辑右移:左边⽤ 0 填充,右边丢弃算术右移:左边⽤原该值的符号位填充,右边丢弃

3、按位与操作符是双⽬操作符

规则:对两个数的对应⼆进制位进⾏与运算,只有对应的两个⼆进位都为 1 时,结果才为 1 。

4、按位或操作符是双⽬操作符

规则:对两个数的对应⼆进制位进⾏或运算,对应的两个⼆进位只要有 1 ,或结果就为 1 。

5、按位异或操作符是双⽬操作符

规则:对两个数的对应⼆进制位进⾏异或运算,对应的两个⼆进位相同则为 0 ,相异则为 1 。

6、按位取反操作符是单⽬操作符

规则:对操作数的⼆进制位进⾏按位取反运算, 2 进制是 0 的变成 1 ,是 1 的变成 0 


一、原码、反码、补码

        其实说到 2 进制,在计算机内部,数值是以 2 进制的形式来进⾏表⽰和存储。后⾯要讲解的位运算的 操作符就是针对整数的⼆进制来进⾏运算的。所以下⾯讲解⼀下整数的 2 进制表⽰形式。

移位运算符:>>

位运算符 : & | ^  

整数的 2 进制表⽰⽅法有三种,即原码、反码和补码;

整数分为有符号整数(signed)和⽆符号整数 (unsigned)。

有符号整数的原码、反码和补码的⼆进制表⽰中均由符号位和数值位两部分组成, 2 进制序列中,最⾼位的 1 位是被当做符号位,剩余的都是数值位,符号位都是⽤0 表⽰“正”,⽤1 表⽰“负”。
正整数的原、反、补码都相同。
负整数的三种表⽰⽅法各不相同,需要计算。

原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。

反码:将原码的符号位不变,其他位依次按位取反就可以得到反码。

补码:反码 +1 就得到补码。

由补码得到原码也是可以使⽤:取反, +1 的操作。

举例:
int a = -10;
原码:10000000 00000000 00000000 00001010
反码:11111111 11111111 11111111 11110101
补码:11111111 11111111 11111111 11110110
int a = 10;
原码:10000000 00000000 00000000 00001010
反码:10000000 00000000 00000000 00001010
补码:10000000 00000000 00000000 00001010

⽆符号整数的三种 2 进制表⽰相同,没有符号位,每⼀位都是数值位。

整数在内存中是以补码的形式存储的,整数在参与位运算的时候,也都是使⽤内存中的补码进⾏计算的,计算的产⽣的结果也是补码,需要转换成原码才是真实值。

二、位操作符

<< //左移操作符 
>> //右移操作符 
& //按位与操作符 
| //按位或操作符 
^ //按位异或操作符 
~ //按位取反操作符

这些位运算的操作符,只适⽤于整数,不能应⽤于其他数据类型。

1、左移操作符是双⽬操作符

形式如下:
int num = 10;
num << i; //将num的⼆进制表⽰,左移i位

代码演示:

#include <iostream>
using namespace std;
int main()
{int num = 10;int n = num << 1;cout << "n = " << n << endl;cout << "num = " << num << endl;return 0;
}

移位规则:左边抛弃、右边补 0

2、右移操作符是双⽬操作符

num >> i;//将num的⼆进制表⽰右移i位

#include <iostream>
using namespace std;
int main()
{int num = -1;int n = num >> 1;cout << "n = " << n << endl;cout << "num = " << num << endl;return 0;
}

右移运算分两种:逻辑右移和算术右移,具体采⽤哪种右移⽅式取决于编译器,⼤部分的编译器采⽤的是算术右移。两种移位⽅式的规则如下:

逻辑右移:左边⽤ 0 填充,右边丢弃
算术右移:左边⽤原该值的符号位填充,右边丢弃

警告⚠⚠:对于移位运算符,不要移动负数位,这个是标准未定义的。

3、按位与操作符是双⽬操作符

a & b; //a和b按位与运算

规则:对两个数的对应⼆进制位进⾏与运算,只有对应的两个⼆进位都为 1 时,结果才为 1 。

#include <iostream>
using namespace std;
int main()
{int a = -5;int b = 7;int c = a & b;cout << c << endl;return 0;
}

4、按位或操作符是双⽬操作符

a | b; //a和b按位或运算

规则:对两个数的对应⼆进制位进⾏或运算,对应的两个⼆进位只要有 1 ,或结果就为 1 。

#include <iostream>
using namespace std;
int main()
{int a = -5;int b = 7;int c = a | b;cout << c << endl;return 0;
}

5、按位异或操作符是双⽬操作符

a ^ b; //a和b按位异或运算

规则:对两个数的对应⼆进制位进⾏异或运算,对应的两个⼆进位相同则为 0 ,相异则为 1 。

#include <iostream>
using namespace std;
int main()
{int a = -5;int b = 7;int c = a ^ b;cout << c << endl;return 0;
}

6、按位取反操作符是单⽬操作符

~a; //对a的⼆进制位按位取反

规则:对操作数的⼆进制位进⾏按位取反运算, 2 进制是 0 的变成 1 ,是 1 的变成 0 

#include <iostream>
using namespace std;
int main()
{int a = -5;int b = ~a;cout << b << endl;return 0;
}

http://www.yayakq.cn/news/375925/

相关文章:

  • 采购网站建设招标方案怎么写app程序
  • 云南网站建设优化企业wordpress在线邮箱验证
  • 工业核信息化部网站备案系统树莓派wordpress
  • 学院网站建设管理规章制度o2o电商交易类平台有哪些
  • 建筑网站案例佛山网络推广平台
  • 网站广告位网页设计与网站建设的报告
  • 如皋市网站建设wordpress 固定链接 seo
  • 建站长沙公司建网站怎么建
  • 网络彩票网站开发网站建设 实训
  • 滁州市城市建设投资有限公司网站个人网站建设架构
  • 做房产应看的网站网站建设挂什么费用
  • 网站建设经济可行性分析做青蛙网站
  • 网站 模板优化大师破解版app
  • 建站公司见客户没话说上海网站建设联系方式
  • 成都科技网站建设热做移动网站建设
  • 永久个人网站视频网站建设的背景简介
  • 锐捷网络公司怎么样苏州seo推广
  • 做一个网站的基本步骤flash网页设计
  • 专业搭建网站公司三室一厅二卫装修效果图
  • 自己做的网站打开慢网站建设方案流程
  • 个人免费网站空间百度小白一键重装系统
  • 中国是唯一一个拥有空间站企业咨询公司名字大全
  • 南皮网站建设公司平面网页设计培训
  • 工业品公司做商城网站好吗亳州电商网站建设
  • 织梦网站模版官网网站 实名认证
  • wordpress时尚英文站动态倒计时网站模板
  • 网站改进建议网站推广方案范文
  • 做网站商城需要什么条件WordPress安装插件要FTP
  • 做商业网站是否要备案做标书有哪些网站能接到
  • 程序员做图网站如何做flash游戏下载网站