系列文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:这里可以添加本文要记录的大概内容:

在学习如何用C语言编程之前,最好先了解一下计算机的工作原理。这些知识有助于你理解用C编写程序和运行C程序时所发生的事情之间有什么联系。


提示:以下是本篇文章正文内容,下面案例可供参考

1 计算机的操作系统

操作系统的作用:

  1. 对软硬件资源进行统一的管理

  2. 为APP开发者提供应用接口

    在这里插入图片描述
    一些简单的计算机系统也可以不使用操作系统,如单片机(stm32、51 …)

2 计算机的基本组成结构

在这里插入图片描述

  • 输入设备:将其它信号转换为电信号并送入计算机。如键盘、鼠标、摄像头、扫描仪等

  • 输出设备:将处理完的电信号转换成其它信号并输出。如显示器、投影仪、打印机、扬声器等
    输入设备和输出设备提供提供人与计算机之间的交互。

  • 存储器:是存储程序和文件的工作区

    • 内存:待处理数据和处理的结果都存储在内存中,掉电丢失
    • 外存储器:长期存储、容量大,掉电不丢失
    • 寄存器:CPU内部的高速存储器,速度快,数目少,按位存储,比内存和外存都要小。
  • CPU:中央处理器(计算机的大脑)
    现代的PC机通常是一个CPU,在一个CPU中包含多个核(如arm核)

    • 运算器:负责进行算术运算、逻辑运算的部件(工人)
    • 控制器:CPU的指挥中心,控制整个CPU执行程序(老板)
  • CPU处理程序的工作原理
    它从内存中获取并执行一条指令,然后再从内存中获取并执行下一条指令,诸如此类(1GHz的CPU一秒钟能重复这样的操作大约十亿次)。
    CPU有自己的小工作区——由若干个寄存器组成,每个寄存器可以存储一个数字。某一个寄存器(叫寄存器1吧)存储下一条指令的内存地址,CPU使用该地址来获取和更新下一条指令。在获取指令后,CPU在另一个寄存器中储存该指令,并更新寄存器1储存下一条指令的地址。CPU能理解的指令有限(这些指令的集合叫作指令集)。而且,这些指令相当具体,其中的许多指令都是用于请求计算机把一个数字从一个位置移动到另一个位置。例如,从内存移动到寄存器。

下面介绍两个有趣的知识。

其一,储存在计算机中的所有内容都是数字。计算机以数字形式储存数字和字符。每个字符都有一个数字码(ASCII)。计算机载入寄存器的指令也以数字形式储存,指令集中的每条指令都有一个数字码。

其二,计算机程序最终必须以数字指令码(即,机器语言)来表示。

3 计算机中数据的表示

  • 送入计算机的数字,字母,符号等信息必须转换成0、1组合的数据形式才能被计算机识别。

  • 数值数据是指在计算机系统中以数字形式表示和处理的数据。计算机可以对数值数据进行各种数学运算、逻辑判断和数据处理操作。

  • 非数值数据是指除了数值之外的其他类型的数据。它可以包括文本、字符、日期、时间、图像、音频、视频等各种形式的数据。

数码:表示数的符号

    十六:0~F 、 十:0~9 、八:0~7 、二:0~1

:数码的个数

    十六:16 、 十:10、八:8 、二:2

位权:数码所表示的数值等于该数码乘以一个与数码所在位置相关的 常数(这个常数叫位权)

	123 = 1X100 + 2X10 + 3X1
		= 1X10^2 + 2X10^1 + 3X10^0
		式中100、10、1就是位权
    一个数码处在不同位置上所代表的值不同

位权的大小是以基数为底、数码所在位置的序号为指数的整数次幂。

数制:计数方法(逢几进一,借一当几)

二进制(Binary) 八进制(Octonary)
十进制(Decimal)十六进制(Hexadecimal)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 进制转换

  • 其他进制转10进制:数码 x 位权并求和

      1010 = 1X2^3 + 0X2^2 + 1X2^1 + 0X2^0   
      	   = 1X8 + 0X4 + 1X2 + 0X1   
      	   =10   
      	   		
      0x1010 = 1X16^3 + 0X16^2 + 1X16^1 + 0X16^0
      		 = 1X4096 + 0X256 + 1X16 + 0X1
      		 =5012
    
      0101 = 0X8^3 + 1X8^2 + 0X8^1 + 1X8^0
     	   = 0X512 + 1X64 + 0X8 + 1X1
      	   = 65
    
  • 10进制转2、8、16进制:除基取余(下往上取),直至商0
    在这里插入图片描述

  • 10进制转16进制:先转二,再转十六

  • 2进制转8进制:从右向左,每3位为一组(不足3位左补0,数码 x 位权)

      (1101001)2
    = (001,101,001)2
    = (151)8
    
    可直接背下如下对应关系
     000 ~ 0
     001 ~ 1
     010 ~ 2
     011 ~ 3
     100 ~ 4
     101 ~ 5
     110 ~ 6
     111 ~ 7
    
  • 8进制与2进制:用3位二进制数代替每一位八进制数,(数码 / 2取余)

       (246)8
     = (010,100,110)2
     = (10100110)2
    
  • 2进制转16进制:从右向左,每4位为一组(不足4位左补 0,数码 x 位权)

        (11010101111101)2
      = (0011,0101,0111,1101)2
      = 0x357D
    
      对应关系:
      1000 ~ 8
      1001 ~ 9
      1010 ~ A
      1011 ~ B
      1100 ~ C
      1101 ~ D
      1110 ~ E
      1111 ~ F
    
  • 16进制转2进制:用4位二进制数代替每一位十六进制数,(数码 / 2取余)

        0x4B9E
      = (0100,1011,1001,1110)2
      = (100101110011110)2
    

5 计算机中数据的单位

位、字节和字是描述计算机数据单元或存储单元的术语。

位(也叫比特,bit):是数据的最小单位。也是最小的存储单元,只能存储0或1。

字节(Byte):8个位为一个字节单元

1 B = 8 bit
1 K = 1024 B = 2^10 B
1 M = 1024 K = 2^10 K = 2^20 B
1 G = 1024 M = 2^10 M = 2^30 B
1 T = 1024 G = 2^10 G = 2^40 B

内存以字节为单位进行处理,每个字节都有一个地址,CPU通过地址来访问这个字节的空间

字(word):是设计计算机时给定的自然存储单位。对于8位微型计算机,1个字长为8位。16位、32位、64位计算器的1个字长分别是16位、32位、64位。计算机的字长越大,其数据转移越快,允许的内存访问也更多。

6 数值的表示方法

  • 整形的表示方法
    计算机中整型是以补码的方式存储的(所以参与运算的也是补码),最高位为符号位。输出设备显示出来时会转换为源码显示。

    • 正数:

        原码、反码与补码相同
         +2:00000010
      
    • 负数:

        原码:最高位为符号位,其余各位为数值本身的绝对值
        反码:符号位为不变,其余位对原码取反
        补码:反码加1
      
         -2:(源)10000010 ->(反)11111101 ->(补)11111110
      
        补码转源码:符号位不变,数值位取反加1,或先减1再取反
      
  • -128的补码

    ①在八位二进制下,只能表示0到127,-0到-127,-128不能用原码或 反码表示。

    ② 人为定义:在八位二进制下,-128的补码为10000000。-0

​- 浮点型的表示方法

7 什么是程序?

广义:为达到某个目的而计划的一系列的行为

例:把大象关冰箱的“程序”
在这里插入图片描述

计算机程序:为了让计算机执行某些操作或解决某些问题而编写的一系列指令的集合。编写的过程,就叫编程,程序存储在磁盘上,被加载到内存中执行。

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐