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

     

     

  • 相关阅读:
    11.ForkJoinPool 分支/合并框架 (工作窃取)
    10.线程池_线程调度
    9.线程八锁
    8.读写锁ReadWriteLock
    7.生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信)
    ScrollView嵌套子View的getDrawingCache为空的解决方法
    装箱与拆箱
    Java核心技术卷一基础知识-第11章-异常、断言、日志和调试-读书笔记
    Java核心技术卷一基础知识-第9章-Swing用户界面组件-读书笔记
    Java核心技术卷一基础知识-第8章-事件处理-读书笔记
  • 原文地址:https://www.cnblogs.com/markstray/p/5578039.html
Copyright © 2011-2022 走看看