一、计算机知识

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

C 碎片一 计算机知识的更多相关文章

  1. 关于python,完善我计算机知识的一步。

    因为身为理科男,所以特别喜欢涉及其他领域的知识.而对我来说,计算机是很有诱惑力的--尤其是程序语言设计,懂得一门“外语”是多么的重要.大一时候接触过包括有计算机的基本知识,c语言,这个新的学期也开始接 ...

  2. React实战教程之从零开始手把手教你使用 React 最新特性Hooks API 打造一款计算机知识测验App

    项目演示地址 项目演示地址 项目代码结构 前言 React 框架的优雅不言而喻,组件化的编程思想使得React框架开发的项目代码简洁,易懂,但早期 React 类组件的写法略显繁琐.React Hoo ...

  3. 学习python所需要了解的一些基础计算机知识汇总

    1)编程语言 语言是一个物体与另一个物体交流的介质,而编程语言就是程序员与计算机沟通的介质,人使用编程语言的目的就是控制计算机为人服务. 例如,用户使用用python语言编写的应用程序通过操作系统向C ...

  4. 1、C编程预备计算机知识

    一.数据类型 基本数据类型 1.整数 整形 -- int -- 4 短整型 -- short int -- 2 长整型 -- long int --8 2.浮点数(实数) 单精度浮点数 -- floa ...

  5. 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器

    计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...

  6. Web前端需要熟悉大学里【高大上】的计算机专业课吗?

    作为一名刚刚大学毕业,进入新的学习阶段的研究生,我必须说大学的专业课非常重要!不管你信不信,事实就是如此! 一.大学学习的专业课非常重要,它决定了我们能走到什么高度 前端的发展非常快,我常常觉得刚刚关 ...

  7. 计算机维修之操作系统的安装(windows、Mac、Linux)

    从大学开始接触了更多的计算机知识,我就在开荒一样,慢慢的接触多了,就想着安装操作系统一定要学会. 前前后后呢,我折腾过很多操作系统,在我的笔记本上存在过Windows.黑苹果.Linux.安卓等操作系 ...

  8. Web前端工程师成长之路——知识汇总

    一.何为Web前端工程师?          前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript ...

  9. Web前端知识技能大汇总

    项目起源 还记得@jayli 的这幅前端知识结构图么. 图片的形式具有诸多的不便.缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个GitHub项目.我们可以 ...

随机推荐

  1. shell自动收集服务器硬件系统信息

    shell自动收集服务器硬件系统信息,插入数据库并通过web页面显示. 一,shell自动收集服务器硬件系统信息,插入数据库.#centos 7操作系统下 #!/bin/bash #auto get ...

  2. NodeJS”热部署“代码,实现动态调试(hotnode,可以实现热更新)

    NodeJS”热部署“代码,实现动态调试   开发中遇到的问题 如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会 ...

  3. 牛叉之nc命令

    nc是一款很不错的网络检测工具,以下是详细使用. 'nc.exe -h'即可看到各参数的使用方法. 基本格式:nc [-options] hostname port [ports] - nc -l - ...

  4. 菜鸟大充电啦啦啦啦啦:eclipse SDK 是什么啊

    为什么下载是,没有单独的ecipse呢,,总是eclipse-sdk呢 而且还很大几百兆 回复1: Eclipse有好多专用名称,例如Eclipse SDK等.先说一下SDK, Eclipse Pro ...

  5. JavaScript学习系列5 ---ES6中的var, let 和const

    我们都知道JavaScript中的var,在本系列的 JavaScript学习系列2一JavaScript中的变量作用域 中,我们详细阐述了var声明的变量的作用域 文章中提到,JavaScript中 ...

  6. 基于netty框架的轻量级RPC实现(附源码)

    前言 Rpc( Remote procedure call):是一种请求 - 响应协议.RPC由客户端启动,客户端向已知的远程服务器发送请求消息,以使用提供的参数执行指定的过程.远程服务器向客户端发送 ...

  7. js中top.location.href、parent.location.href用法

    window.location.href.location.href是本页面跳转 parent.location.href是上一层页面跳转 top.location.href是最外层的页面跳转 举例说 ...

  8. Flask从入门到做出一个博客的大型教程(一)

    本项目全部在虚拟环境中运行,因此请参照前面的文章,链接为https://blog.csdn.net/u014793102/article/details/80302975 建立虚拟环境后,再接着完成本 ...

  9. 第一章 –– Java基础语法

    第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...

  10. 【原创】谈谈redis的热key问题如何解决

    引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完...(以下省略一万字). 今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决. 其实热key问题说来也很简单,就是瞬间 ...