计算机的进制及编码

计算机常用进制及进制之间的转换

  • 进制的由来

  • 生活中常用的进制

  • 计算机中的二进制

  • 四种进制的介绍

  • 八进制和十六进制

  • 各种进制的之间的转换

进制的概念

  • 进制计数法
  • 对于 n进制,逢n进1
  • 生活中常用的进制是十进制

生活中的进制

  • 十进制
  • 七进制
  • 十二进制

计算机中的二进制

  • 在计算机中使用补码表示信息
  • 在计算机中一个数据位为1bit ,一个字节由8个bit 表示,称为1Byte

计算机中常用的进制转换

8b=1B; 1024B=1kB; 1024kB=1MB; 1024MB=1GB;1024GB=1TB

四种进制的说明

  • 二进制 ,用 0 1 表示, 逢二进一 机器语言 以0b开头
  • 八进制 把三个电路开关连到一起 表示八种状态 用0-7表示 逢八进一 以0开头
  • 十进制 0-9 逢十进一
  • 十六进制 把四个开关电路连接到一起 表示十六种状态 0-9+A-F 0x开头

八进制和十六进制

八进制和十六进制解决了二进制数字书写太长不易识别的问题

把二进制从右往左每三位分为一组 每一组表示一个八进制数

把二进制从右往左每四位分为一组 分别对应 一个十六进制数

常用进制之间的转换

  • 将其它进制转换成十进制
    • 位权展开法 权重=(进制)^(位数-1) 每一位数字与对应的权重相乘,然后将乘积相加
  • 将十进制转换成其他进制
    • 方法 :短除法=除k(k进制)取余法 余数从下往上取 10001
    • 先将十进制转换为二进制,再通过组合法转换为八进制或者十六进制

原码 反码 补码

  • 对计算机中常见数据的分类
  • 机器数 就是数值在计算机中的二进制表现形式 机器数在计算机中有符号: 最左边一位为符号为,0表示正数,1表示负数
  • 真值 机器数所表示的真正的数值[最高位为符号位]
  • 原码 是符号位加上真值的绝对值
  • 反码 (==计算机的运算器只有加法没有减法== ==0的表示不唯一== ) 对正数,反码=原码 对负数,反码=符号位不变其余位按位取反
  • 补码 (为了解决反码正负不唯一的情况 ) 计算机中数据以补码形式存在,并且以补码的形式参与运算 正数的原码=反码=补码 负数的补码=反码+1
  • 将负数的补码 转换成原码 相当于对补码再求补码

计算机常用编码

  • 常用编码介绍

    • ASCII码表
      • 48-57 存储0-9 ;65- 90存储A-Z ; 97-122对应a-z
    • 0-127 使用低七位 剩余的128留作扩展
    • ISO-8859-* 使用ASCII码表剩余的128位做了扩展,常用的为 ISO-8859-1
    • GB2312 中文简体字集 包含6763个简体中文字
    • BIG5 大五码 繁体字集
    • Unicode (UCS) 统一字符集
    • GBK [936] 简繁字集 包含GB2312 和 BIG5 ,向下完全兼容GB2312 ,使用GBK打开GB2312的文本不会乱码
    • UTF-8[65001]万国码
  • 乱码产生的原因: 文件 通过特定编码方式以二进制形式存储到硬盘,读取时将二进制文件解码成普通可读文件

    • 解码时, 系统会搜索当前系统中,对于不同后缀名文件的默认打开方式[每种打开方式包含的编码不一定相同],如果默认的打开方式中包含的编码方式与原编码格式相同,则文件可以正常打开,没有乱码;
    • 如果默认打开方式的编码方式和原文件不同,这时可以简单分为两种情况:
      • 如果默认打开方式中的编码全部包含原文件的编码方式,则也可以正常打开;例如 GBK [GB2312]
      • 如果默认打开方式中的编码不包含,或者没有全部包含,则会出现乱码
  • 解决乱码

    • 在保存文件时,确定编辑保存的编码方式
    • 在打开文件时,要根据不同的文件后缀名,选择对应的打开方式;
  • notepad++等记事本中的乱码问题

    • 编写一段文本,使用UTF-8编码格式进行保存;

      打开时选用不同的编码方式查看显示的效果;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。