为什么要学习计算机基础

因为你首先是程序员,其次才是前端

  1. 硬件与软件:计算机的运行原理 (《编码》)
  2. 最大的软件: 操作系统
  3. 自己写的软件:数据结构 & 算法 (《数据结构与算法分析》) (排序算法)
  4. 多人写软件:软件工程 (《代码大全》)

前端为什么要学习计算机基础

  • 操作系统运行在硬件上;
  • 浏览器运行在操作系统上;
  • HL/CSS/JS 运行在浏览器里;
  • HTML/CSS/JS 和数据都运行在服务器上;

计算机就是一个二进制的世界(0和1)

  • 1代表充电成功,0代表不充电
  • 十进制转换二进制,以10的几次方为底,转换为2的几次方为底;比如:
    • 37 十进制的做法是 3*10^1 + 7*10^0 = 37;
    • 转换二进制则为:1*2^5 + 0*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0 所以为:100101;
    • 切记二进制里只有0和1没有别的存在;

计算机存储

  • 内存如何存储 0 和 1,1 代表充电 0 代表不充电;
  • 如何存储数字,十进制变化为二进制,进行存储;
    • 负数会以补码的方式进行存储;
    • 小数会以浮点数的形式进行存储;
  • 如何存储字符, 将每个字符编号,通过ASCll 美国信息交换标准代码,如下图: image

​如果想存储 a,那么就存储97(十进制)对应的二进制,a -> 0110 0001(2) -> 61(16);

  • 如何存储中文,通过GB 2312 中国国家标准简体中文字符集,后微软推出 GBK字符集;
  • 如何存储所以字符,衍生出 Unicode字符集,可以存储中日韩文字、藏文、盲文、锲行文字、颜文字等;
  • 如何将 Unicode 存储到计算机里,高性价比 UTF-8,UTF-8 是一种编码方式,不是字符集;