以下是阅读他人文章后,个人对计算 (tmp >> 8) & 0xff; 的理解:

将tmp转为二进制数

6322040->11000000111011101111000,向右移16位(清掉该16位),且左边用0补足16位

00000000000000001100000,将移动后的二进制转10进,等于96

tmp作为byte类型,计算机存储的补码是01100000(8位)

int类型是32位,将tmp作为int传递赋值时需要不为,所以补位后的补码

111111111111111111111111 01100000

当byte要转化为int的时候,高的24位必然会补1,这样,其二进制补码其实已经不一致了,&0xff可以将高的24位置为0,低8位保持原样。这样做的目的就是为了保证二进制数据的一致性。

即使用了&0xff后的补码为 000000000000000000000000 01100000 值等于01100000 等于96

同理:(tmp >> 8) & 0xff;

6322040->11000000111011101111000->00000000110000001110111(十进转二进,向右移走8位,向向补0 八位)

Byte转int 8位转32位,使用0xff将高的24位设为0,低8位保持不变

01110111->11111111111111111111111101110111->000000000000000000000000 01110111=119

tmp & 0xff;( 十进转二进,不移动,使用0xff将高的24位设为0,低8位保持不变)

6322040->11000000111011101111000->00000000000000000000000001111000=120

文章源自:https://www.cnblogs.com/think-in-java/p/5527389.html

转载于:https://www.cnblogs.com/yanwz/p/9089910.html

(tmp 8) 0xff;相关推荐

  1. java 图像采集_JAVA B/S通过摄像头采集图片信息解决方案。

    var pos = 0, ctx = null, saveCB, image =[];var w=320;var h=240;var canvas = document.createElement(& ...

  2. android、ios、php之间AES加密解密

    使用原因: 因为在项目中,需要在与客户端(IOS,Android)交互的时候,保存一些私有信息,不被别人看到,所以,使用了比较流行的可以反向加解密的AES. PHP 源码 <?php$aes = ...

  3. Android和.NET通用的AES算法 (转) 好东东 收藏一下

    转自:http://www.cnblogs.com/ahui/archive/2011/04/22/2025045.html 1.NET源代码: view sourceprint? 001 using ...

  4. s3c6410裸机程序(1)

    嘿嘿,今天在博客园注册了新用户,来记录我的嵌入式学习流程,把自己的心得体会,教训经验,全部写出来,一来可以加深自己的印象,二来写出来让博客园中的高手看到,也可以给我批评指正哦 .@_@ 以前实际上算的 ...

  5. 怎么样把Java的字符串转化为字节数组?

    问题:怎么样把Java的字符串转化为字节数组 有没有任何方法把Java的字符串转化为字节数组 我尝试这样: System.out.println(response.split("\r\n\r ...

  6. UNICODE十六进制数组转成中英文

    UNICODE十六进制的数组转成中英文 实现char*转换成中英文,每两个char合成一个wchar_t: [cpp]view plaincopy // UNICODE十六进制数组转成中英文 // h ...

  7. AES算法重点详解和实现

    可以看到,在原始数据长度为16的整数倍时,假如原始数据长度等于16*n,则使用NoPadding时加密后数据长度等于16*n,其它情况下加密数据长度等于16*(n+1).在不足16的整数倍的情况下,假 ...

  8. 基于百度AI+jquery-webcam+servlet实现人脸识别登录,兼容各主流浏览器

    1.注册百度AI账号,获取到AI开发资格 详情参见个人博客:你的第一个人脸识别demo(http://www.cnblogs.com/guo-eric/p/8109411.html) 2.环境准备 首 ...

  9. lm016l c语言编程,基于MCS51-LM016L (液晶屏)

    1.原理图: 2.源代码 /*lcd1602 显示16*2个字母或者数字 RS  数据/指令引脚,0代表指令,1代表数据 RW  读/写控制引脚,0代表写,1代表读 E   使能位,1打开,0关闭 D ...

最新文章

  1. APUE和UNP怎么学?
  2. 实例 | 利用犯罪记录聚类和分类暴力行为(附步骤解析)
  3. c语言windows程序设计 - 第十天,C语言Windows程序设计 - 第十天 - 响应键盘事件...
  4. java 最少使用(lru)置换算法_「面试」LRU了解么?看看LinkedHashMap如何实现LRU算法...
  5. SpringAOP静态代理和动态代理
  6. C语言库函数大全及应用实例十四
  7. oracle查询某个用户下的所有视图
  8. 架构师成长之路:如何提升技术掌控力?
  9. 我对Spring的理解
  10. Word2010 给公式添加序号时公式变小解决方案
  11. 如何利用OUTLOOK提高你的工作效率
  12. 家长的爱-爱对了吗? - 刘浩霖
  13. 软件测试基础—易用性测试
  14. 蓝牙耳机哪个音质好?推荐几款音质好的蓝牙耳机
  15. php图片加密管理系统,8tupian图片加密平台 v3.0
  16. 显示模块模式 — Revealing Module Pattern
  17. Shell运行原理及Linux权限
  18. python贷款_Python贷款逾期分析
  19. 2022-2028年全球厨房炉灶行业供需分析及发展前景研究报告
  20. 交换机修改dhcp服务器ip范围,华为s5700交换机配置全局地址池dhcp服务器.doc

热门文章

  1. teststand调用python模块_TestStand 基本知识[10]--在序列中调用代码模块之--LabVIEW
  2. python xml添加命名空间_XML的命名空间与python解析方法
  3. AutoMapper 9.0的改造(续)
  4. 李宏毅机器学习课程---2、Regression - Case Study
  5. 一个设计项调另一个设计项(支持多选传值)
  6. C++ 宏、范型和RTTI 浅析
  7. 软件与软件工程的概念
  8. Android学习笔记-判断手机外部存储是否可读写
  9. 推荐一篇讲解各种debug技术的文章,相当不错!
  10. oracle已经有了注释符再注释,关于oracle的注释位置