编程菜鸟到大佬之路:C++程序设计(二)

第一章 绪论

程序的开发过程


程序

  • 源程序:

    • 用源语言写的,有待翻译的程序。
  • 目标程序:

    • 源程序通过翻译程序加工以后生成的机器语言程序。
  • 可执行程序:

    • 连接目标程序以及库中的某些文件,生成的一个可执行文件;
    • 例如:Windows 系统平台上的.EXE 文件。

三种不同类型的翻译程序

  • 汇编程序:

    • 将汇编语言源程序翻译成目标程序。
  • 编译程序:

    • 将高级语言源程序翻译成目标程序。
  • 解释程序:

    • 将高级语言源程序翻译成机器指令,边翻译边执行。
  • C++程序的开发过程

    • 算法与数据结构设计;
    • 源程序编辑;
    • 编译;
    • 连接;
    • 测试;
    • 调试。

计算机中的信息与存储单位

  • 计算机的基本功能

    • 算术运算;
    • 逻辑运算。
  • 计算机中信息:

    • 控制信息:指挥计算机操作;
    • 数据信息:计算机程序加工的对象。
      • 数值信息:浮点数和定点数;
      • 非数值信息:字符数据和逻辑数据。
  • 信息的存储单位

    • 位(bit,b):数据的最小单位,表示一位二进制信息;
    • 字节(byte,B):八位二进制数字组成(1 byte = 8 bit);
    • 千字节 1 KB = 1024 B;
    • 兆字节 1 MB = 1024 K;
    • 吉字节 1 GB = 1024 M。

计算机的数字系统


程序中常用的数制

  • 计算机的数字系统

    • 二进制系统;
    • 基本符号:0、1。
  • 四种进制:
    在这里插入图片描述

  • R 进制转换为十进制:

    • 各位数字与它的权相乘,其积相加;
    • 例如: ( 11111111.11 ) 2 = 1 × 2 7 + 1 × 2 6 + 1 × 2 5 + 1 × 2 4 + 1 × 2 3 + 1 × 2 2 + 1 × 2 1 + 1 × 2 0 + 1 × 2 1 + 1 × 2 2 = ( 255.75 ) 10 (11111111.11)_2=1×2^7+1×2^6+1×2^5+1×2^4+1×2^3+1×2^2+1×2^1+1×2^0+1×2^{-1}+1 ×2^{-2} =(255.75)_{10}
  • 十进制整数转换为 R 进制整数:

    • 除 R 取余法:
      在这里插入图片描述
  • 十进制小数转换为 R 进制小数:

    • 乘 R 取整法:
      在这里插入图片描述
  • 二、八、十六进制的相互转换

    • 1位八进制数相当于3位二进制数;
    • 1位十六进制数相当于4位二进制数;
    • 例如: ( 1011010.10 ) 2 = ( 001011010.100 ) 2 = ( 132.4 ) 8 = ( 01011010.1000 ) 2 = ( 5 A . 8 ) 16 (1011010.10)_2=(001011010.100)_2=(132.4)_8=(01011010.1000)_2=(5A.8)_{16}

数据在计算机中的编码表示


二进制数的编码表示

  • 原码

    • 符号──绝对值表示的编码;
    • 符号位为0表示“+”号,为1表示“-”号。
    • 原码的缺点:
      • 零的表示不惟一;
      • 进行四则运算时,符号位须单独处理,运算规则复杂。
  • 补码

    • 符号位可作为数值参加运算;
    • 减法运算可转换为加法运算;
    • 0的表示唯一;
    • 补码的原理:
      • 模数:
        • n 位二进制整数的模数为 2 n 2^n
        • n 位二进制小数的模数为2。
      • 补数:
        • 一个数减去另一个数(加一个负数),等于第一个数加第二个数的补数:例(时钟指针):8+(-2)=8+10 (mod 12)=6;
        • 一个二进制负数可用其模数与真值做加法 (模减去该数的绝对值) 求得其补码,例(时钟指针):-2+12=10。
      • 补码的计算:
        • 借助于“反码”作为中间码;
        • 负数的反码与原码有如下关系:
          • 符号位不变(仍用1表示);
          • 其余各位取反(0变1,1变0)。
        • 正数的反码与原码表示相同,正数的补码与原码相同;
          • 反码只是求补码时的中间码;
          • 负数的补码由该数反码的末位加1求得。
          • 对补码再求补即得到原码。
      • 补码的优点:
        • 0的表示唯一;
        • 符号位可作为数值参加运算;
        • 补码运算的结果仍为补码。
  • 实数的浮点表示

    • 计算机中通常采用浮点方式表示小数;
    • 实数 N 用浮点形式可表示为: N = M × 2 E N=M×2^E
      • E:2的幂;
      • N:阶码;
      • M:N 的尾数。
  • 字符在计算机中的表示

    • 字符在计算机中是通过编码表示的;
    • ASCII 码是一种常用的西文字符编码,用7位二进制数表示一个字符,最多可以表示 2 7 = 128 2^7=128 个字符;

猜你喜欢

转载自blog.csdn.net/faker1895/article/details/86499823