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

免费微信小程序商城好搜网惠州seo

免费微信小程序商城,好搜网惠州seo,河南微网站建设公司哪家好,专业做网站的公司 郑州文章目录 关于进制位运算左位移右位移无符号右移取反按位与按位或按位异或 关于进制 所有数字在计算机底层都是以二进制的形式存在。 进制的四种表达形式: 二进制:[0,1],满2进1,以0b或0B开头。八进制:[0-7]&#xf…

文章目录

  • 关于进制
  • 位运算
    • 左位移
    • 右位移
    • 无符号右移
    • 取反
    • 按位与
    • 按位或
    • 按位异或

关于进制

所有数字在计算机底层都是以二进制的形式存在。

进制的四种表达形式:

  • 二进制:[0,1],满2进1,以0b或0B开头。
  • 八进制:[0-7],满8进1,以0开头。
  • 十进制:[0-9],满10进1。
  • 十六进制:[0,9,A-F],满16进1,以0x或0X开头(此处的A-F不区分大小写)。

进制之间的相互换算参考:https://xinzhi.wenda.so.com/a/1537180588200142

在Java中的整数,默认是int类型占4字节,占32bit(1字节等于8bit),其第32位是符号位;long类型占8个字节,占64bit,其第64位是符号位。

比如:int整数8的二进制:00000000 00000000 00000000 00001000,最多不超过32位。

注意:符号位,0表示正,1表示负。

二进制整数的三种形式:

  • 原码:直接将一个整数转换二进制数,最高位是符号位。
  • 反码:正数的反码和原码相同,负数的反码是对原码符号位以外的每一位按位取反(由于是负数的反码所以符号位总是1)。
  • 补码:正数的补码和原码相同,负数的补码是它的反码加1。

注意:正数的原码、反码和补码都相同。补码转原码是补码取反+1

为什么要使用原码、反码和补码的表示形式?

答:计算机辨别“符号位”会让计算机的基础电路设计变得复杂,于是人们想到将符号位也参与运算,我们知道根据运算法则,减去一个整数等于加上一个负数,所以机器可以只有加法没有减法,这样计算机运算的设计就简单了。(在计算机中,都是补码参与计算)

为什么正数的原码、反码和补码相同?

答:反码和补码的出现是用来解决做减法问题,通过加负数的方式达到做减法的效果,所以只有负数才有反码和补码,正数没有,所有正数的反码和补码都是本身(原码)。

例:演示在计算机中如何计算1+(-1)= 0的过程

整数二进制转换:
1:00000000 00000000 00000000 00000001
-1:10000000 00000000 00000000 00000001
补码转换:
1:00000000 00000000 00000000 00000001(补码)
-1:11111111 11111111 11111111 11111110(反码)-> 11111111 11111111 11111111 11111111(补码)
说明:二进制相加,逢二进一。00000000 00000000 00000000 00000001+	11111111 11111111 11111111 11111111----------------------------------------100000000 00000000 00000000 00000000 -> 00000000 00000000 00000000 00000000 = 0注:最高位超出位数直接被舍弃,最后计算结果为0.

位运算

位运算是对补码的操作。运算完后,需要将补码转回原码再转十进制,才是最后运算结果,由于正数的补码和原码相同,就不需要转,负数需要转。

注意:

  • 正数位运算,不管左位移还是右位移,都是补0。
  • 负数位运算,左位移和无符号右移补0,且左位移最高位总是1,右位移补1。

左位移

运算符:<<
说明:整数的二进制数向左移动指定位数。
示例:1 << 2 = 4

补码转换:
1:00000000 00000000 00000000 000000011向左位移2位(1<<2)00000000 00000000 00000000 00000001
<<  00000000 00000000 00000000 00000001----------------------------------------00000000 00000000 00000000 00000100 = 4
注:左位移后,左边超出部分舍弃,右边用0补齐。

右位移

运算符:>>
说明:整数的二进制数向右位移指定位数。
示例:8>>2 = 2

补码转换:
8:00000000 00000000 00000000 00001000
-8:10000000 00000000 00000000 00001000 (取反)-> 11111111 11111111 11111111 11110111 (+1)-> 11111111 11111111 11111111 111110008向右位移2位00000000 00000000 00000000 00001000
>>    00000000 00000000 00000000 00001000------------------------------------------0000000000 00000000 00000000 000010 = 2
注:右位移后,左边用0补齐,右边超出部分舍弃。-8向右位移2位11111111 11111111 11111111 11111000
>>    11111111 11111111 11111111 11111000------------------------------------------11111111 11111111 11111111 11111110 (取反)-> 10000000 00000000 00000000 00000001 (+1)-> 10000000 00000000 00000000 00000010 = -2
注:运算后得到的是补码需转成原码。

无符号右移

运算符:>>>
说明:整数的二进制数向右位移指定位数,正数用0补齐,负数用1补齐。
示例:
8>>>2 = 2
-8>>>2 = 1073741822

补码转换:
8:00000000 00000000 00000000 00001000
-8:10000000 00000000 00000000 00001000 (取反)-> 11111111 11111111 11111111 11110111 (+1)-> 11111111 11111111 11111111 111110008无符号向右位移2位00000000 00000000 00000000 00001000
>>>   00000000 00000000 00000000 00001000------------------------------------------0000000000 00000000 00000000 000010 = 2-8无符号向右位移2位11111111 11111111 11111111 11111000
>>>	  11111111 11111111 11111111 11111000------------------------------------------00111111 11111111 11111111 11111110 = 1073741822
注:无符号右位移,左边用0补齐,右边超出部分舍弃。

在线二进制转换十进制:https://www.jisuan.mobi/KZn.html

取反

运算符:~
运算规则:~1=0; ~0=1,1变0,0变1。
示例:~3 = -4

补码转换:
3:00000000 00000000 00000000 000000113取反
~ 00000000 00000000 00000000 00000011
-------------------------------------11111111 11111111 11111111 11111100 (取反)-> 10000000 00000000 00000000 00000011 (+1)-> 10000000 00000000 00000000 00000100 = -4

按位与

运算符:&
运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1,只有同时都是1的时候才是1,否则是0。
示例:3 & 5 = 1

补码转换:
3:00000000 00000000 00000000 00000011
5:00000000 00000000 00000000 000001013按位与500000000 00000000 00000000 00000011
& 00000000 00000000 00000000 00000101
-------------------------------------00000000 00000000 00000000 00000001 = 1

按位或

运算符:|
运算规则:0 | 0=0; 0 | 1=1; 1 | 0=1; 1 | 1=1,任意一方是1就是1,否则是0。
示例:3 | 5 = 7

补码转换:
3:00000000 00000000 00000000 00000011
5:00000000 00000000 00000000 000001013按位或500000000 00000000 00000000 00000011
| 00000000 00000000 00000000 00000101
-------------------------------------00000000 00000000 00000000 00000111 = 7

按位异或

运算符:^
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0,相同的值为0,不同的值为1。
示例:3^5 = 6

补码转换:
3:00000000 00000000 00000000 00000011
5:00000000 00000000 00000000 000001013按位异或500000000 00000000 00000000 00000011
^ 00000000 00000000 00000000 00000101
---------------------------------------00000000 00000000 00000000 00000110 = 6
http://www.ds6.com.cn/news/110397.html

相关文章:

  • 网站如何做外链企业线上培训平台
  • 京东网站建设策划书微指数官网
  • 杭州网站建设公司联系方式郑州seo优化阿亮
  • 全国免费自学网站网络培训心得体会总结
  • 网上哪里可以注册公司seo排名优化的方法
  • 能用网站做微信小程序app推广赚钱
  • 郑州网站建设招商视频营销
  • 淘宝网站建设问题网站关键词排名优化
  • 初学网站建设百度关键词查询网站
  • wordpress配置域名贵州网站seo
  • b2c网站价格企业品牌推广
  • html软件哪个好用西安seo顾问培训
  • 深圳哪家建设网站公司好找小网站的关键词
  • wordpress制作404页面模板seo自动优化工具
  • 深圳做分销网站设计怎么样创建网站
  • 别人冒用我们公司做的网站怎么关掉网络推广有哪些
  • 网站建设添加展示栏找客户资源的软件免费的
  • 武汉可信网站建设网络公司苏州seo关键词优化推广
  • 合山市网站个人在线网站推广
  • 做药品网站有哪些百度指数可以查询到哪些内容
  • 太原做网站培训谷歌seo优化排名
  • 陕西公司网站建设新闻稿代写平台
  • 泰安网站建设最好58同城网站推广
  • 做网站敲代码的图片谷歌官网首页
  • 诈骗网站谁做seo网站排名优化快速排
  • 怎么做网站注册名密码外贸展示型网站建设公司
  • 维持一个素材网站要多少钱上海谷歌seo公司
  • 游戏软件开发属于什么专业辽源seo
  • 关于网站开发的期刊百度是国企还是央企
  • 廉洁长沙考试灰色词优化培训