• C 碎片一 计算机知识


    一、计算机知识

    1, 计算机组成及工作原理

      计算机是硬件和软件的结合体。硬件由主机箱和外部设备组成,主机主要包括CPU、内存、主板、硬盘、光驱、各种扩展卡、连接线、电源等;外部设备包括鼠标、键盘等。软件包括程序、数据和文档,是用户与硬件之间的接口

      计算机的基本原理是存储程序和程序控制。预先要把指挥计算机如何进行操作的指令序列(程序)和原始数据通过输入设备输送到计算机内存贮器中,每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令的要求,从存储器中取出数据进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。接下来,再取出第二条指令,在控制器的指挥下完成规定操作。依此进行下去,直至遇到停止指令。
    程序与数据一样存贮,按程序编排的顺序,一步一步地取出指令,自动地完成指令规定的操作是计算机最基本的工作原理。

    2, 计算机语言

      计算机语言是计算机能够识别的语言,用于人与计算机进行沟通和交流

      展:机器语言 ——> 汇编语言 ——> 高级语言(C,C++,OC,JAVA)

    3, 程序

      程序是可以完成特定功能,多条指挥计算机进行操作指令序列的集合

      程序本质:就是一堆数据指令,加载到计算机可以进行各种操作

    4, 计算机只能够识别二进制数据,why?  

      1, 硬件设计简单,成本低

      2, 稳定性高

      3, 符合生活中的(真假,是非)逻辑

    5, 进制

      进位制,一种人们约定的进位方式,对于任何一种X进制,某个进制位上的值逢X进一

     

    二、进制转换

    1, 十进制:基数 0~9 ,逢十进一 

      123=1*10^2 + 2 *10^1+3*10^0

    2, 二进制:基数 0,1 ,逢二进一

      十进制转二进制 :除2取余,倒序书写

          52  = 110100(b)

          250 = 11111010(b)

    3, 八进制:基数 0~7 ,逢进一 

      八进制转十进制:

      034  = 3*8^1+4*8^0=28

      八进制转二进制:八进制一位表示3位二进制数

      034 =  011 100

      二进制转八进制:

      10101010(b) = 0252

    4, 十六进制:基数 0~9 A~F,逢十六进一

      十六进制转十进制:

      0xFE34 = 15*16^3 +15*16^2+3*16^1+4*16^0

      十六进制转二进制:十六进制1位表示4位二进制数

      0xFE34 =1111 1110 0011 0100(b)

      二进制转十六进制:

      11101111101010(b)= 0x3BEA

     

    程序中的数据不是以二进制存储而是以十六进制存储,Why?

      1,书写比二进制简短

      2,与二进制转换方便

      3,C语言不支持二进制的书写形式,程序中的数据无论是以哪种形式书写的,最终都是以二进制的形式存储的

     

    三、数据及储存

    正数的原码,反码和补码都是其本身

    负数的反码:对应的原码符号位不变,其余位取反

    负数的补码:对应的反码加1

     

    程序中的数据最终是以补码的形式存储的, why?

      1,将减法转换为加法运算,简化硬件设计,节约成本

      2,将符号位参与运算,无需单独考虑,也可简化设计

    程序中的数据储存在哪里:存储在内存中,我们人为的约定8个bit为一个字节占用一个存储单元,然后使用一个正整数给这些单元进行编号,实际上我们不使用地址编号, why?

      1,地址书写较麻烦,易出错

      2,实际我们不知道哪些地址是可用的

      3,我们可以给某存储 空间取个名字,然后通过这个名字访问指定的存储空间

     

     

  • 相关阅读:
    sql一对多的两个表的update
    textArea 高度自适应
    js切换不同的div的颜色
    [Python]闭包的理解和使用
    运维面试
    [linux]ubuntu修改镜像源
    [vsftpd] ubuntu14.04 ansible剧本安装vsftpd流程及报错排查
    windows环境下使用virtualenv对python进行多版本隔离
    [python]打印异常信息的不同方式
    [python]字典的直接赋值、浅拷贝和深拷贝解析
  • 原文地址:https://www.cnblogs.com/markstray/p/5578039.html
Copyright © 2020-2023  润新知