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,我们可以给某存储 空间取个名字,然后通过这个名字访问指定的存储空间
C 碎片一 计算机知识的更多相关文章
- 关于python,完善我计算机知识的一步。
因为身为理科男,所以特别喜欢涉及其他领域的知识.而对我来说,计算机是很有诱惑力的--尤其是程序语言设计,懂得一门“外语”是多么的重要.大一时候接触过包括有计算机的基本知识,c语言,这个新的学期也开始接 ...
- React实战教程之从零开始手把手教你使用 React 最新特性Hooks API 打造一款计算机知识测验App
项目演示地址 项目演示地址 项目代码结构 前言 React 框架的优雅不言而喻,组件化的编程思想使得React框架开发的项目代码简洁,易懂,但早期 React 类组件的写法略显繁琐.React Hoo ...
- 学习python所需要了解的一些基础计算机知识汇总
1)编程语言 语言是一个物体与另一个物体交流的介质,而编程语言就是程序员与计算机沟通的介质,人使用编程语言的目的就是控制计算机为人服务. 例如,用户使用用python语言编写的应用程序通过操作系统向C ...
- 1、C编程预备计算机知识
一.数据类型 基本数据类型 1.整数 整形 -- int -- 4 短整型 -- short int -- 2 长整型 -- long int --8 2.浮点数(实数) 单精度浮点数 -- floa ...
- 编程必备基础知识|计算机组成原理篇(09):CPU的控制器和运算器
计算机基础方面的知识,对于一些非科班出身的同学来讲,一直是他们心中的痛,而对于科班出身的同学,很多同学在工作之后,也意识到自身所学知识的不足与欠缺,想回头补补基础知识.关于计算机基础的课程很多,内容繁 ...
- Web前端需要熟悉大学里【高大上】的计算机专业课吗?
作为一名刚刚大学毕业,进入新的学习阶段的研究生,我必须说大学的专业课非常重要!不管你信不信,事实就是如此! 一.大学学习的专业课非常重要,它决定了我们能走到什么高度 前端的发展非常快,我常常觉得刚刚关 ...
- 计算机维修之操作系统的安装(windows、Mac、Linux)
从大学开始接触了更多的计算机知识,我就在开荒一样,慢慢的接触多了,就想着安装操作系统一定要学会. 前前后后呢,我折腾过很多操作系统,在我的笔记本上存在过Windows.黑苹果.Linux.安卓等操作系 ...
- Web前端工程师成长之路——知识汇总
一.何为Web前端工程师? 前端工程师,也叫Web前端开发工程师.他是随着web发展,细分出来的行业.Web前端开发工程师,主要职责是利用(X)HTML/CSS/JavaScript ...
- Web前端知识技能大汇总
项目起源 还记得@jayli 的这幅前端知识结构图么. 图片的形式具有诸多的不便.缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个GitHub项目.我们可以 ...
随机推荐
- shell自动收集服务器硬件系统信息
shell自动收集服务器硬件系统信息,插入数据库并通过web页面显示. 一,shell自动收集服务器硬件系统信息,插入数据库.#centos 7操作系统下 #!/bin/bash #auto get ...
- NodeJS”热部署“代码,实现动态调试(hotnode,可以实现热更新)
NodeJS”热部署“代码,实现动态调试 开发中遇到的问题 如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你在开发 Node.js 实现的 HTTP 应用时会 ...
- 牛叉之nc命令
nc是一款很不错的网络检测工具,以下是详细使用. 'nc.exe -h'即可看到各参数的使用方法. 基本格式:nc [-options] hostname port [ports] - nc -l - ...
- 菜鸟大充电啦啦啦啦啦:eclipse SDK 是什么啊
为什么下载是,没有单独的ecipse呢,,总是eclipse-sdk呢 而且还很大几百兆 回复1: Eclipse有好多专用名称,例如Eclipse SDK等.先说一下SDK, Eclipse Pro ...
- JavaScript学习系列5 ---ES6中的var, let 和const
我们都知道JavaScript中的var,在本系列的 JavaScript学习系列2一JavaScript中的变量作用域 中,我们详细阐述了var声明的变量的作用域 文章中提到,JavaScript中 ...
- 基于netty框架的轻量级RPC实现(附源码)
前言 Rpc( Remote procedure call):是一种请求 - 响应协议.RPC由客户端启动,客户端向已知的远程服务器发送请求消息,以使用提供的参数执行指定的过程.远程服务器向客户端发送 ...
- js中top.location.href、parent.location.href用法
window.location.href.location.href是本页面跳转 parent.location.href是上一层页面跳转 top.location.href是最外层的页面跳转 举例说 ...
- Flask从入门到做出一个博客的大型教程(一)
本项目全部在虚拟环境中运行,因此请参照前面的文章,链接为https://blog.csdn.net/u014793102/article/details/80302975 建立虚拟环境后,再接着完成本 ...
- 第一章 –– Java基础语法
第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...
- 【原创】谈谈redis的热key问题如何解决
引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完...(以下省略一万字). 今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决. 其实热key问题说来也很简单,就是瞬间 ...