位,字节,字符与编码表
2023-12-15 15:08:12
位,字节,字符的关系
1. 位
数据存储的最小单位,每个二进制数字0或者1就是1个位
2.字节
8个位构成一个字节;既 1byte(字节) = 8 bit(位)
1KB?= 1024B(字节)
1MB = 1024KB(2^10B)
1GB = 1024MB (2^20B)
1TB = 1024GB (2^30B)?
3. 字符
a ,A ,中 , + , * $ 均表示一个字符
不同的编码表,字符所占用的字节不同。
public static void main(String[] args) {
char a = 'A';
// 将字符转换为字节,注意可能的数据截断
byte sing = (byte) a;
/*
(sing & 0xFF) 的目的是确保字节转换为正整数
Integer.toBinaryString() 将整数转换为二进制字符串。
*/
String binaryString = Integer.toBinaryString(sing & 0xFF);
// 输出结果
System.out.println("字节 " + sing);
System.out.println("二进制字符串" + binaryString);
}
编码表
1. 字符型存储到计算机中,需要将字符对应的码值(找出来),
比如'a',存储:'a' == 码值 97 ==> 二进制 ==> 存储。
? ? ? ? ? ? ? 读取:二进制==>97 ===> 'a'? 显示
2. 字符和码值的对应关系是通过字符编码表决定的(规定好的)?
3. 字符编码表
ASCII(ASCII编码表一个字节表示,一共128个字符)
Unicode(Unicode编码表,固定大小的编码,使用两个字节来表示字符,字母和汉字统一都是占用两个字节,这样浪费空间)
Utf-8(大小可变的编码 ,字母使用1个字节,汉字使用3个字节)
gbk(可以表示汉字,而且范围广=>ANSI, 字母使用1个字节,汉字2个字节)
gb2312(可以表示汉字,gb2312 < gbk)
big5码(繁体中文,台湾,香港)
java变量范围
整数类型:
byte
: 8位,范围为 -128 到 127。short
: 16位,范围为 -32768 到 32767。int
: 32位,范围为 -2147483648 到 2147483647。long
: 64位,范围为 -9223372036854775808 到 9223372036854775807。
byte byteVar = 127;
short shortVar = 32767;
int intVar = 2147483647;
long longVar = 9223372036854775807L;
浮点类型:
float
: 32位,单精度,范围为约 ±3.40282347E+38F。double
: 64位,双精度,范围为约 ±1.79769313486231570E+308。
float floatVar = 3.14f;
double doubleVar = 3.141592653589793;
字符类型:
char
: 16位,表示Unicode字符,范围为 0 到 65535。
char charVar = 'A';
布尔类型:
boolean
: 表示true
或false
。-
boolean boolVar = true;
文章来源:https://blog.csdn.net/weixin_67573348/article/details/135008521
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!