Java中bit的操作技巧
条评论Java中定义八种基本数据类型,最小到byte,然而最近在底层操作中遇到需要根据一个byte中的bit来操作,作此记录。
基本数据类型
- byte b; 1字节(8位) (-128~127)(-2的7次方到2的7次方-1)
- short s; 2字节(16位) (-32768~32767)(-2的15次方到2的15次方-1)
- char c;2字节(16位)(C语言中是1字节)可以存储一个汉字
- int i; 4字节(32位) (一个字长)(-2147483648~2147483647)(-2的31次方到2的31次方-1)
- long l; 8字节(64位) (-9223372036854774808~9223372036854774807)(-2的63次方到2的63次方-1)
- float f; 4字节(32位) (3.402823e+38 ~ 1.401298e-45)(e+38是乘以10的38次方,e-45是乘以10的负45次方)(-2^128 ~ +2^128)
- double d; 8字节(64位) (1.797693e+308~ 4.9000000e-324)(-2^1024 ~ +2^1024)
- boolean bool; false/true (理论上占用1bit,1/8字节,实际处理按1byte处理)
bit操作技巧
bit:位
一个二进制数据0或1,是1bit;
Java中最小基本数据类型是byte,Java中要根据byte获得bit就要进行一些位操作可以根据 1 byte = 8 bit
这个转化关系来。
将byte转换bit
1 | /** |
输出内容就是各个 bit 位的 0 和 1 值,还有一种
JDK自带的方法Integer.toBinaryString(0x35);
,会忽略前面的 0 ,输出为110101
bit转换byte
1 | /** |
本文标题:Java中bit的操作技巧
文章作者:xmaihh
发布时间:2018-12-10
最后更新:2018-12-10
原始链接:https://xmaihh.github.io/blog/2018/12/10/java-zhong-bit-de-cao-zuo-ji-qiao/
版权声明:采用[CC BY-NC-SA 4.0许可协议]进行许可
分享