(tmp 8) 0xff;
以下是阅读他人文章后,个人对计算 (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;相关推荐
- java 图像采集_JAVA B/S通过摄像头采集图片信息解决方案。
var pos = 0, ctx = null, saveCB, image =[];var w=320;var h=240;var canvas = document.createElement(& ...
- android、ios、php之间AES加密解密
使用原因: 因为在项目中,需要在与客户端(IOS,Android)交互的时候,保存一些私有信息,不被别人看到,所以,使用了比较流行的可以反向加解密的AES. PHP 源码 <?php$aes = ...
- Android和.NET通用的AES算法 (转) 好东东 收藏一下
转自:http://www.cnblogs.com/ahui/archive/2011/04/22/2025045.html 1.NET源代码: view sourceprint? 001 using ...
- s3c6410裸机程序(1)
嘿嘿,今天在博客园注册了新用户,来记录我的嵌入式学习流程,把自己的心得体会,教训经验,全部写出来,一来可以加深自己的印象,二来写出来让博客园中的高手看到,也可以给我批评指正哦 .@_@ 以前实际上算的 ...
- 怎么样把Java的字符串转化为字节数组?
问题:怎么样把Java的字符串转化为字节数组 有没有任何方法把Java的字符串转化为字节数组 我尝试这样: System.out.println(response.split("\r\n\r ...
- UNICODE十六进制数组转成中英文
UNICODE十六进制的数组转成中英文 实现char*转换成中英文,每两个char合成一个wchar_t: [cpp]view plaincopy // UNICODE十六进制数组转成中英文 // h ...
- AES算法重点详解和实现
可以看到,在原始数据长度为16的整数倍时,假如原始数据长度等于16*n,则使用NoPadding时加密后数据长度等于16*n,其它情况下加密数据长度等于16*(n+1).在不足16的整数倍的情况下,假 ...
- 基于百度AI+jquery-webcam+servlet实现人脸识别登录,兼容各主流浏览器
1.注册百度AI账号,获取到AI开发资格 详情参见个人博客:你的第一个人脸识别demo(http://www.cnblogs.com/guo-eric/p/8109411.html) 2.环境准备 首 ...
- lm016l c语言编程,基于MCS51-LM016L (液晶屏)
1.原理图: 2.源代码 /*lcd1602 显示16*2个字母或者数字 RS 数据/指令引脚,0代表指令,1代表数据 RW 读/写控制引脚,0代表写,1代表读 E 使能位,1打开,0关闭 D ...
最新文章
- APUE和UNP怎么学?
- 实例 | 利用犯罪记录聚类和分类暴力行为(附步骤解析)
- c语言windows程序设计 - 第十天,C语言Windows程序设计 - 第十天 - 响应键盘事件...
- java 最少使用(lru)置换算法_「面试」LRU了解么?看看LinkedHashMap如何实现LRU算法...
- SpringAOP静态代理和动态代理
- C语言库函数大全及应用实例十四
- oracle查询某个用户下的所有视图
- 架构师成长之路:如何提升技术掌控力?
- 我对Spring的理解
- Word2010 给公式添加序号时公式变小解决方案
- 如何利用OUTLOOK提高你的工作效率
- 家长的爱-爱对了吗? - 刘浩霖
- 软件测试基础—易用性测试
- 蓝牙耳机哪个音质好?推荐几款音质好的蓝牙耳机
- php图片加密管理系统,8tupian图片加密平台 v3.0
- 显示模块模式 — Revealing Module Pattern
- Shell运行原理及Linux权限
- python贷款_Python贷款逾期分析
- 2022-2028年全球厨房炉灶行业供需分析及发展前景研究报告
- 交换机修改dhcp服务器ip范围,华为s5700交换机配置全局地址池dhcp服务器.doc
热门文章
- teststand调用python模块_TestStand 基本知识[10]--在序列中调用代码模块之--LabVIEW
- python xml添加命名空间_XML的命名空间与python解析方法
- AutoMapper 9.0的改造(续)
- 李宏毅机器学习课程---2、Regression - Case Study
- 一个设计项调另一个设计项(支持多选传值)
- C++ 宏、范型和RTTI 浅析
- 软件与软件工程的概念
- Android学习笔记-判断手机外部存储是否可读写
- 推荐一篇讲解各种debug技术的文章,相当不错!
- oracle已经有了注释符再注释,关于oracle的注释位置