博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于左移右移的操作 学习
阅读量:5974 次
发布时间:2019-06-19

本文共 452 字,大约阅读时间需要 1 分钟。

 

左移操作符<<,  右移又叫做“有符号”右移-》符号若为正,则在最高位插入0,符号若为符则在最高位插入1;

不论对于正数还是负数<<i  就等于该数乘以2^i  (这里保证不超数据类型)

而对于右移操作来说就有些奇葩复杂了:

首先右移不会改变符号位:

正数右移就是对他的二进制原码右移然后补零的操作;

而负数就麻烦了,首先负数的右移是对其补码的右移然后补1的过程:

例如-3>>1

源码:1(符号位)0000000000000000000000000000011

反码:1(符号位)1111111111111111111111111111100

补码:1(符号位)1111111111111111111111111111101

右移一位前边补1:1(符号位)1111111111111111111111111111110

然后还原:-1的:   1(符号位)1111111111111111111111111111101

              取反:  1(符号位)0000000000000000000000000000010

             得:-2

 

 

 

转载地址:http://jefox.baihongyu.com/

你可能感兴趣的文章
MPAndroidChart---饼状图PieChart
查看>>
PHP中基于b2core框架内部的网页上Html输出生成Word的处理
查看>>
采用Servlet Listener方式运行Liquibase
查看>>
TCP-IP 学习(三) TCP
查看>>
递归和非递归
查看>>
创建本地yum仓库
查看>>
对比两个无序整形数组相似度问题算法
查看>>
浅谈web应用的负载均衡、集群、高可用(HA)解决方案
查看>>
eclipse cdt 无法正确显示代码提示 No Default Proposals
查看>>
批量有效地修改package名
查看>>
Vxlan基础理解
查看>>
MongoDB 使用mapreduce完成数据迭代
查看>>
创建自定义的 iOS Framewok
查看>>
jquery.qrcode 生成二维码
查看>>
重装系统后,让mysql再次运行
查看>>
Drupal7 db_query SQL查询运用
查看>>
以太坊问题
查看>>
关于ListView head 动态设置高度
查看>>
poj 1191 棋盘分割
查看>>
Web development history & Technologies
查看>>