关于计算机存储单位?
计算机只能识别二进制。(1010100110. . . )
1字节 = 8bit(8比特)–>1byte = 8bit
1bit 就是一个 1 或 0
1KB = 1024byte
byte是[-128 ~ 127],共可以标识256个不同的数字。
byte类型的最大值是怎么计算出来的?
byte 是 1 个字节,是 8 个比特位,所以 byte 可以存储的最大值是:
01111111
注意:在计算机当中,一个二进制为最左边的是符号位,当为 0 是表示正数,当为 1 时表示负数。
所以 byte 可以存储的最大值是:01111111
关于字符编码的发展过程?
起初的时候计算机是不支持文字的,只支持科学计算。实际上计算机起初是为了战争而开发的,计算导弹的轨道. . . .
后来随着计算机的发展,计算机开始支持文字,最先支持的文字是英文,英文对应的字符编码方式是:ASCII 码。
ASCII 码采用 1byte 进行存储,因为英文字母是 26 个。(键盘上所有的键全部算上也超不过 256 个。
1byte 可以标识 256 中不同的情况。所以英文本身在计算机方面就站优势。)
随着计算机语言的发展,后来国际标准组织制定了 ISO-8859-1 编码方式,又称为 latin-1 编码方式,向上兼容 ASCII 码。
但不支持中文。国际标准化组织 (International Standard Organization)
后来发展到亚洲,才支持中文,日文,韩文. . . . .
中文这块的编码方式:GB2312<GBK<GB18030(容量的关系)
以上编码方式是简体中文。
繁体中文:big5(台湾使用的是大五码。)
在 java 中,java 语言为了支持全球所有的文字,采用了一种字符编码方式叫做 unicode 编码。
unicode 编码统一了全球所有的文字,支持所有文字。
具体的实现包括:UTF-8 UTF-16 UTF-32. . . . .
ASCII('a’是97,'A’是65,'0’是48)
ISO-8859-1(latin-1)
GB2312
GBK
GB18030
Big5
unicode(utf-8 utf16 utf32)
1、计算机在任何情况下都只能识别二进制
2、计算机在底层存储数据的时候,一律存储的是“二进制的补码形式”
计算机采用补码形式存储数据的原因是:补码形式效率最高。
3、什么是补码呢?
实际上是这样的,二进制有:原码 反码 补码
4、对于一个正数来说:二进制原码、反码、补码是同一个,完全相同。
int i = 1;
对应的二进制原码:00000000 00000000 00000000 00000001
对应的二进制反码:00000000 00000000 00000000 00000001
对应的二进制补码:00000000 00000000 00000000 00000001
对于一个负数来说:二进制原码、反码、补码是什么关系呢?
byte i =1;
对应的二进制原码:10000001
对应的二进制反码(符号位不变,其它位取反):11111110
对应的二进制补码(反码+1):11111111
十六进制,满 16 进 1 位:
1 2 3 4 5 6 7 8 9 a b c d e f 10
11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 . . .
在 16 进制当中 10 表示 16
八进制:
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 . . . . . .
1个 字节 = 8 个二进制位
1byte = 8bit