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,我们可以给某存储 空间取个名字,然后通过这个名字访问指定的存储空间

 

 

posted on 2016-06-13 10:53  流浪_先生  阅读(451)  评论(0编辑  收藏  举报

导航