- 1 bit = 1 二进制数据
- 1 byte = 8 bit
- 1 汉字 = 2 byte = 16 bit
1. bit:位
一个二进制数据0或1,是1bit;
2. byte:字节
存储空间的基本计量单位,如:MySQL中定义 VARCHAR(45) 即是指 45个字节;
1 byte = 8 bit
Byte:有符号整形 用二进制表示时候最高位为符号位 0代表正数 1代表负数 8bit -128(-2^7 1000 0000) --- 127(2^7 - 1 0111 1111)
正数在计算机中是以原码形式存在的,负数在计算机中是以其补码(负数的绝对值的原码转为二进制再按位取反后加1)形式存在的
Short:作为2字节16位有符号整形
Int:作为4字节32位有符号整形
Long:作为8字节64位有符号整形
Char作为16位无符号整形 其范围为 0 -- 2的15次方(最小:'\u0000' 最大:'\uFFFF')
Float作为32位的浮点型
Double 作为64为浮点型
2^7 = 128
2^15 = 65536
2^31 = 2147483648
2^63 = 9223372036854775808
/** * Java中的位,字节,字母,汉字之间的关系 * @see ========================= * @see 1 bit = 1 二进制数据 * @see 1 byte = 8 bit (范围:-128到+127) * @see 1 字母 = 1 byte = 8 bit * @see 1 汉字 = 2 byte = 16 bit * */ www.2cto.com public class ByteDemo { /** * @see 控制台打印结果,如下 * @see 4 * @see 4 * @see ---------------------------- * @see str=ABab * @see 65 * @see 66 * @see 97 * @see 98 * @see ---------------------------- * @see name=玄玉 * @see -48 * @see -2 * @see -45 * @see -15 * @see ---------------------------- */ @SuppressWarnings("unused") public static void main(String[] args) { //byte bb11 = 128; //cannot convert from int to byte //byte bb22 = -129; //cannot convert from int to byte byte bb11 = 127; byte bb22 = -128; byte bb33 = 56; //byte bb44 = '玄'; //错误,因为: 1汉字==2字节 //byte bb55 = 'bb'; //错误,因为: 'bb'==2字节 byte bb44 = 'b'; byte bb55 = 'B'; byte bb66 = 'Z'; //int i11 = "玄玉"; //1 int = 32 bit, but int is numeral //short ss = '玄玉'; //1 short = 2 byte = 16 bit = 1 汉字 short ss11 = '玄'; //char cc11 = '玄玉'; //这样是不可以的 //char cc22 = 'cc'; //这样是不可以的 char cc11 = '玄'; char cc22 = 'c'; String str = "ABab"; byte[] data = str.getBytes(); System.out.println(str.length()); System.out.println(data.length); System.out.println("----------------------------"); System.out.println("str=" + new String(data)); for(int i=0; i<data.length; i++){ System.out.println(data[i]); } System.out.println("----------------------------"); byte[] name = "玄玉".getBytes(); System.out.println("name=" + new String(name)); for(int i=0; i<name.length; i++){ System.out.println(name[i]); } System.out.println("----------------------------"); } }
package com.test; import java.util.Arrays; public class T { /** * 将byte转换为一个长度为8的byte数组,数组每个值代表bit */ public static byte[] getBooleanArray(byte b) { byte[] array = new byte[8]; for (int i = 7; i >= 0; i--) { array[i] = (byte)(b & 1); b = (byte) (b >> 1); } return array; } /** * 把byte转为字符串的bit */ public static String byteToBit(byte b) { return "" + (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1) + (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1) + (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1) + (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1); } public static void main(String[] args) { byte b = 0x35; // 0011 0101 // 输出 [0, 0, 1, 1, 0, 1, 0, 1] System.out.println(Arrays.toString(getBooleanArray(b))); // 输出 00110101 System.out.println(byteToBit(b)); // JDK自带的方法,会忽略前面的 0 System.out.println(Integer.toBinaryString(0x35)); } }
/** * 二进制字符串转byte */ public static byte decodeBinaryString(String byteStr) { int re, len; if (null == byteStr) { return 0; } len = byteStr.length(); if (len != 4 && len != 8) { return 0; } if (len == 8) {// 8 bit处理 if (byteStr.charAt(0) == '0') {// 正数 re = Integer.parseInt(byteStr, 2); } else {// 负数 re = Integer.parseInt(byteStr, 2) - 256; } } else {// 4 bit处理 re = Integer.parseInt(byteStr, 2); } return (byte) re; }
相关推荐
常见java中数据类型之间的转换.txt常见java中数据类型之间的转换.txt常见java中数据类型之间的转换.txt
java中数据类型转换 收藏 java中数据类型转换 1如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt([String],[int radix]); 2). int i =...
Java中数据类型和MYSQL中数据类型的对比 1、Java和MySQL数据类型参照图 2、MySQL数据类型分类 (1)数值 (2)日期/时间 (3)字符串(字符)类型。
java中数据类型转换.doc
Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型Java中的基本数据类型...
详细介绍了数据处理的诸多事项,是Java学习的基础部分,总结分点,详细介绍,重点突出。
Java数据类型和MySql数据类型对应一览
JAVA中的关键字、标识符、注释 JAVA中的数据类型、变量、运算符、表达式 JAVA类中方法的调用
sqlserver数据库类型对应Java中的数据类型
Java基本数据类型
java基础数据类型。
java中的字符串处理,对数据类型方面感兴趣不了解的朋友可参考
java数据批量处理
java 变量数据类型运算符 面向对象
Java的数据类型.pdf Java的数据类型.pdf Java的数据类型.pdf
非常明了的介绍了JAVA的基本数据类型,为以后打好坚实基础。
JAVA的基本数据类型
Java基本语法 介绍了一些java的基本数据类型及配置 java的表达式的介绍
SQL的数据类型与Java数据类型的对应关系,是程序员必备的基础知识,欢迎大家下载。
22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java数据类型.zip22.java...