目录
3.5.1、什么是二进制
3.5.2、十进制转二进制
3.5.3、二进制转十进制
3.5.4、原码
3.5.5、反码
3.5.6、补码
3.5.7、字符编码
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
二进制中第一位是符号位,表示正负,0正数,1负数。例如:1的二进制 <code>00000001</code> ,-1的二进制 <code>100000001</code> 。
十进制转换成为二进制将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示。
125转换成为二进制:
当商为零时,将余数由下至上依次写出,即为125的二进制表示。
-520转换成为二进制:
当商为零时,将余数由下至上依次写出,即为-520的二进制表示。
方法一:小数点前或者整数要从右到左用二进制的每个数去乘以2的相应次方并递增,小数点后则是从左往右乘以二的相应负次方并递减。
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反
注意:计算机在底层储数据的时候,使用的是补码
正数的补码就是其本身。
负数的补码是在其原码的基础上, 符号位不变,其余各位取反,最后+1 (即在反码的基础上+1)
什么是字符编码?
字符编码是人为的定义的一套转换表。
在字符编码中规定了一系列的文字对应的二进制。
字符编码其实本质上就是一本字典,该字段中描述了文字与二进制之间的对照关系。
字符编码是人为规定的(是某个计算机协会规定的)
字符编码涉及到编码和解码两个过程中,编码和解码的时候必须采用同一套字符编码方式,不然会出现乱码。
关于字符编码的发展过程,起初的时候计算机是不支持文字的,只支持科学计算。
实际上计算机起初是为了战争而开发的,计算导弹的轨道......
后来随着计算机的发展,计算机开始支持文字,最先支持的文字是英文,英文对应的字符编码方式是: ASCII码。
ASCII码采用1byte进行存储,因为英文字母是26个(键盘上所有的键全部算上也超不过256个,1byte可以表示256中不同情况。所以英文本身在计算机方面就占有优势)
a代表数字是97,进行编码后是01100001,进行解码是a,假如编码和解码不是同一种方式就会出现乱码
随着计算机语言的发展,后来国际标准组织制定了ISO-8859-1编码方式,又称为latin-1编码方式,向上兼容ASCII码,但不支持中文。
后来发展到亚洲,才支持中文、日文、韩文...
中文这块的编码方式:GB2312 < GBK < GB18030(容量关系)
繁体中文:big5(台湾使用的是大五码)
而Java语言为了支持全球所有的文字,采用了一种字符编码方式叫做unicode编码。Unicode编码容纳了全球所有的文字,支持所有的文字。常见包括有:UTF-8 UTF-16 UTF-32...