long型转成bytes
来源:互联网 发布:js clientx undefined 编辑:程序博客网 时间:2024/06/04 19:02
今天刚好有人问VB的Long转换成Bytes,问下面代码是什么意思
Bytes = (Number And &H7F000000) \ &H1000000 Or (((Number And &H80000000) <> 0) And &H80)
实际上各种语言计算位的方式都是基本一致的。要理解这些什么意思,关键得能把这些变量和16进制数要有位的概念。
1、VB中long是32位,如果就是4个字节,一个字节的二进制是8位(1111 1111),如果是其他语言也一样,看变量占几个字节,然后转成位的方式
2、H7F000000二进制是01111111 00000000 00000000 00000000 ,为了防止溢出,最高位设置成0。and操作后,就剩最高位的8位了。但第8位是不准确的。
3、H1000000二进制是1 00000000 00000000 00000000 ,除法相当于移位,也就是剩下最高位8位
4、&H80000000二进制10000000 00000000 00000000 00000000,and操作是检测最高位是0还是1
5、&H80二进制是10000000,and操作检测8位中最高位
6、(Number And &H7F000000) \ &H1000000是求出最高8位。
7、(((Number And &H80000000) <> 0) And &H80)后面这部分总体来说就是最高位如果是0则结果0,如果最高位是1,则结果是1
8、两组or以下,结果就是long型的最高8位数,为什么or一下,还记得前面说的第8位不准确吧
这是求最高8位的,其他低位的3个字节也可以同理,单另外3个字节中每个字节的第8位就不用做特殊处理了,也就是最高位的字节要做特殊处理
0 0
- long型转成bytes
- 1.00768E7字符串如何转成long型
- python hex string 转成 bytes
- 二进制字符串转成long
- long转成datetime类型
- Java long 转成 String
- Java 中long型Date转成日期格式
- Gson转JSON字符串时候, 将时间转成Long型
- android将一个long型转成时间字符串
- HID接收到的数据转成字串 bytes 转成 string
- objective-c long 转成NSDate格式
- java中long如何转成String
- String 转成long 异常处理一定要!
- long类型强转成int类型解析
- .net stream 转成 bytes[] 的实例和注意事项
- normal block at XXXXXXXX, 16/32 bytes long.的意思
- ValueError: IV must be 16 bytes long问题的解决
- java:bytes[]转long的三种方式
- 数据结构之AVL树
- Open CV 学习笔记:鼠标操作(回调函数)
- SharePreferences实现数据存储(先例子后理论 易理解)
- 双机高可用、负载均衡、MySQL(读写分离、主从自动切换)架构设计
- URL编码---阮一峰
- long型转成bytes
- ./configure,make,make install的作用
- iOS开发指南:从零基础到App Store上架(第2版 )
- excel中$、&、^、/、*等各种符号的使用
- 在Tomat7上使用Redis保存Session
- TP 里 left join 实例操作
- 黑马程序员--Java语言符号
- AP-应付发票余额
- android学习笔记之下拉动态弹出图标菜单的实现