关闭

>>>符号和&的使用获取多点触摸下的action值

标签: actionstringjvm
659人阅读 评论(0) 收藏 举报
分类:

/**
  * 这个方法是对于进制之间转换,二进制 ,十六进制,十进制之间的相互转换
  * @param args
  */
 //以下是二进制 转换 16进制表
 //0001     1         1000     8       1111  F         
 //0010    2          1001     9
 //0011     3         1010     A
 //0100    4          1011     B
 //0101     5         1100     C
 //0110     6         1101     D
 //0111     7         1110     E
 public static void main(String[] args) {
  //十进制的261
  int x=261;//转换为十六进制:105      261/16=16 于5   16=10         10拼接上余数5=105
      //105:       0000 0001 0000 0101
      //ff00       :1111 1111 0000 0000
     //result:     0000 0001 0000 0000
     //>>>8:                     0000 0001
  
      //0x00000105      0x000000  0001 0000 0101
      //                       0x000000  0001 0000 0000
        //              0x 0000 0001 将二进制码向右移动8位
  //  101/2 =10  二进制除以2相当于将二进制码向右移动一位
  
  int y=0xff00;// 0x这个是十六进制码的前缀   ff00 转换为二进制=1111111100000000
  // &二进制的按位与操作
  // >>>这个符号表示向右移动指定位数(8位)
  int z=(x&y)>>>8;
  //x=261  十六:0105       二进制:0000000100000101
 //y=0xff00: 十六:ff00       二进制:1111111100000000
 //当x&y之后相对于x与y:上下相乘得到结果:0000000100000000
 //然后:(x&y)>>>8右移动8位:00000001
  
  
  System.out.println("手指编号是"+z);
  
  int w=x&0x00ff;
  //x=261  十六:0105                 二进制:0000000100000101
  //y=0x00ff: 十六:ff00                二进制:0000000011111111
  //当x&y之后相对于x与y:上下相乘得到结果:0000000000000101   JVM自动将二进制转换十进制
  
  System.out.println("手指动作是"+w);
    
 }

 

通过以上的操作,我们将多点触摸下的手指动作做了简化操作,得到了我们想要的值

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    标语
    刚刚开始写博客,希望大家多多指教,以后我会经常更新我的博客,将一些技术和前沿的问题带到我的博客中来,希望大家多多关注,同时也欢迎大家的点评
    个人资料
    • 访问:55831次
    • 积分:825
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:1篇
    • 译文:2篇
    • 评论:15条
    最新评论