java中的位移符

原创 2015年11月18日 11:00:40

在我们开发中有时为了速率往往要用到位移运算符,今天将自己了解的做一个总结:

              0000 0000 0000 0000表示正数的0

              1111 1111 1111 1111表示-1,其中第一位为符号位,在计算机中会显示,一般计算中忽略第一位。

              看看它为什么是-1:如果是有符号数,题中给的是补码,最左边的1表示负,仅考虑剩下的
                      111 1111 1111 1111 ,减去1后,得反码,即
                     1111 1111 1111 1110 ,按位取反,得原码,即
                    1000 0000 0000 0001 ,最左边的1仅表示负号,
                     所以转为十进制数,加上符号,得 - 1 .

<<      :     左移运算符,num << 1,相当于num转换成二进制后向左移动1位,低位补0,num为负数时一样。

                 自己的理解:num << 1,相当于num乘以2,向下延伸当num<<2,相当于num乘以4,即乘以2的指数型倍数

                一般来说二进制

>>      :     右移运算符,num >>1,相当于num转换成二进制后向右移动1位,高位位补0,num为负数时,高位补1.

                 自己的理解:  num >> 1,相当于num除以2,当num为奇数时,相当于Math.Floor,向下取整,当然当

                num>>2时,相当于除以4,也是以2的指数型倍数递增。

>>>    :     无符号右移,忽略符号位,空位都以0补齐

版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS-位移枚举

枚举&位移枚举 之前,我们一般都采用C语言的方式定义枚举,这种枚举可以称为普通的枚举。 typedef enum{ DirectionTypeUp, DirectionTypeLef...
  • u014205965
  • u014205965
  • 2015年05月22日 10:09
  • 1680

Java中的位移操作 >>、<<

【需求背景】项目需要自定义网络协议,将Beans封装成数据报并发送。为保证数据报头部的长度严格一致,需要将java中的byte、short、int等基本数据类型,通过移位操作来拼装成定长的数据报头部。...
  • sadword
  • sadword
  • 2015年10月08日 10:31
  • 1147

java位移操作

.在了解位移之前,先了解一下正数和负数的二进制表示形式以及关系:举例15和-15:15的原码: 00000000 00000000 00000000 00001111     补码: 11111111...
  • apex0
  • apex0
  • 2010年07月24日 01:46
  • 4230

Java 中的位移运算

位移运算符就是在二进制的基础上对数字进行平移。按照平移的方向和填充数字的规则分为三种:>(带符号右移)和>>>(无符号右移)。 计算规则如下: ① 左移n位相当于乘以2的n次方。 ② 右移n位相当...
  • shineflowers
  • shineflowers
  • 2014年12月02日 11:27
  • 2353

java位移算法详解

文章转载自     http://blog.csdn.net/posonrick/article/details/52052238 二进制、位运算、位移运算 思考题 1、...
  • zxc_user
  • zxc_user
  • 2017年10月09日 15:30
  • 151

【Java】移位运算

以前一直没有研究二进制的移位运算的应用场景是什么,怎么运算?怎么实现数据的四则运算的? 直到最近,在看Think in Java的书籍,才真正理解这个东西。下面记录一下学习笔记。 1,二进制1....
  • wk1134314305
  • wk1134314305
  • 2017年07月09日 15:59
  • 706

编程中的移位运算符简单解释

1. 例如 10 10的二进制表示是 (机器补码表示,不会自行百度)0,0000000...00001010(共三十二位,假设机器是32位机器,64位大同小异) 左移2位之后是0,0000000...
  • qq_21063873
  • qq_21063873
  • 2015年11月23日 18:47
  • 987

Java_语法基础_移位运算的真实剖析

Java中定义了3种移位运算符,分别是左移运算符“”和无符号右移运算符“>>>”,对于移位运算,移位运算两边的操作数要求为整型,即byte、short、char、int或long类型,或者通过拆箱转换...
  • u012552052
  • u012552052
  • 2015年03月24日 14:33
  • 1883

Java中的移位操作——Java编程思想笔记

Java中的移位操作及移位进行乘除法的简单分析
  • alading2009
  • alading2009
  • 2014年10月10日 20:05
  • 1497

java的位移符号

>>是带符号位的右移符号,x>>1就是x的内容右移一位,如果开头是1则补1,是0责补0,(x的内容并不改变). >>>是不带符号位的右移,x>>>1就是x的内容右移一位,开头...
  • RenXF
  • RenXF
  • 2007年01月17日 22:07
  • 1355
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中的位移符
举报原因:
原因补充:

(最多只允许输入30个字)