2020/6/30 笔记整理
计算机常用进制及相互转换
8b = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
原码 反码 补码
- 对计算机中常见数据简单分类
- 机器数 与 真值
- 原码
- 反码
- 补码
- 扩展
机器数
就是数值在计算机中的二进制表现形式
机器数在计算机中有符号,使用 最高位表示符号 , 使用0 表示正,使用 1 表示负
一个字节8个bit位表示
+5 = 0000 0101
-10 = 1000 1010
真值
机器数所表示的真正的数值
如 : 1000 1010 = -10
原码
原码就是符号位加上真值的绝对值
反码
正数 : 正数的反码 = 原码 如: +3 = 0000 0011[原码] = 0000 0011 [反码]
负数 : 符号为不变 ,其余各位直接取反 , 1->0 0->1
补码
计算机中数据以补码的形式,同样以补码的形式参与运算
正数 : 原码 = 反码 = 补码 如 : +3 0000 0011[原码] = 0000 0011[反码] = 0000 0011[补码]
负数 : 首先求的反码,在反码的基础上 + 1,[加到最低位上]
为什么需要反码和补码
- 反码
- 在计算机的时候,只有加法器没有减法器,为了将减法转换为加法,设计反码;
- 但是反码有缺陷,正负相加 0 的表示不唯一;
- 补码
- 为了解决反码正负相加不唯一的情况,使用高位溢出解决;
将补码转换为原码
正数 : 不需要转
负数 : 求补码的补码
将负数的补码当做原码,然后求该原码的补码
计算规则 :符号位不变,其余各位直接取反,然后加1;
计算机常用编码
- 常用编码介绍
- ASCII码表
- 乱码产生的原因
- 解决乱码
- notepad++等记事本中的乱码问题
常用编码介绍
- ASCII 码表 只有0-127 128位 ,使用 一个字节的低7位,剩余的128位留作扩展
- ISO-8859-* 使用了ASCII码表剩余的128位,做了扩展 常用 : ISO-8859-1
- GB2312 中文简体字集 ,包含6763个简体中文字
- BIG5 大五码 ,繁体字集
- Unicode 统一字符集 简称为UCS
- GBK 包含 GB2312 和BIG5 简繁字集 向下完全兼容GB2312,使用GBK打开GB2312的文本,不会乱码 , 共21003个字符
- UTF-8 万国码 ,包含世界所有国家的字符
ASCII码表
常用:0~9 A~Z a~z 对应的ASCII码分别为:4857,6590,97~122