理解计算机
编译原理,计算机组成原理,汇编语言
jone1024
真正的失败,不是倒下,而是不再站起来了
展开
-
进制转换_负数的补码
进制转换问题//1、把⼀个⼗进制数转为八进制//思路:用do{}while();循环,保证str里有数字//每次循环num先取余8拼到str里,之后num整除8赋值给自己,直到num到0为⽌。public static String decToOct(int num) { if (num < 0) { // -10的二进制是: 1_777_777_777_777_777_777_766 // 10的八进制原创 2020-12-26 16:32:19 · 695 阅读 · 0 评论 -
DNS 原理入门
DNS 原理入门DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。一、DNS 是什么?DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。举例来说,如果你要访问域名math.stackexchange.com,首先要通过DNS查出它的IP地址是151.101.129.69。转载 2020-10-11 18:00:44 · 234 阅读 · 0 评论 -
互联网协议(二)
互联网协议入门(二)上一篇文章分析了互联网的总体构思,从下至上,每一层协议的设计思想。这是从设计者的角度看问题,今天我想切换到用户的角度,看看用户是如何从上至下,与这些协议互动的。互联网协议入门(二)(接上文)七、一个小结先对前面的内容,做一个小结。我们已经知道,网络通信就是交换数据包。电脑A向电脑B发送一个数据包,后者收到了,回复一个数据包,从而实现两台电脑之间的通信。数据包的结构,基本上是下面这样:发送这个包,需要知道两个地址:* 对方的MAC地址* 对方的IP地址有转载 2020-10-11 17:42:00 · 132 阅读 · 0 评论 -
互联网协议入门(一)
互联网协议入门(一)我们每天使用互联网,你是否想过,它是如何实现的?全世界几十亿台电脑,连接在一起,两两通信。上海的某一块网卡送出信号,洛杉矶的另一块网卡居然就收到了,两者实际上根本不知道对方的物理位置,你不觉得这是很神奇的事情吗?互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。下面就是我的学习笔记。因为这些协议实在太复杂、太庞大,我想整理一个简洁的框架,帮助自己从总体转载 2020-10-11 17:34:52 · 337 阅读 · 0 评论 -
进程间通信的方式有哪些?
进程间通信的方式有哪些?1、进程间通讯方式有:管道,信号,信号量,消息队列,共享内存,套接字共六种2、管道:管道分为有名管道和无名管道,其中无名管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用,一般用于两个不同进程之间的通信。有名管道也是一种半双工的通信方式,但它允许无亲缘关系进程间的通信。3、信号:信号是一种比较复杂的通信方式,信号产生的条件:按键、硬件异常、进程调用kill函数将信号发送给另一个进程、用户调用kill命令将信号发送给其他进程,传递的消息比较转载 2020-10-11 17:25:50 · 3601 阅读 · 0 评论 -
TCP 连接的“ 三次握手 ”与“ 四次挥手 ”
https://baijiahao.baidu.com/s?id=1654225744653405133&wfr=spider&for=pc转载 2020-10-09 00:36:05 · 107 阅读 · 0 评论 -
Linux 的内核原理
Linux 的内核原理半年前,我写了《计算机是如何启动的?》,探讨BIOS和主引导记录的作用。那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关系更密切。我主要关心的是Linux操作系统,它是目前服务器端的主流操作系统。下面的内容针对的是Debi转载 2020-10-08 23:50:13 · 186 阅读 · 0 评论 -
C-free5 安装教程
C-free5 安装教程1.首先百度C-free5 点击第一个链接 http://www.programarts.com/cfree_ch/2.点击马上下载3.下载专业版4.下载完成后 一路next就好5.点击 接受6.建议是固态的就放C盘 其他盘可能会出现某些错误(只是可能!)7.next就行 不用管 (要你选择启动的主文件夹)8.弄个桌面快捷方式而已 第二个是快速启动9.然后点击安装安装中10.可以直接启动了11.进来的界面是这样的12.点击工程下面的新转载 2020-10-08 23:38:49 · 3738 阅读 · 0 评论 -
c编译过程
编译器的工作过程源码要运行,必须先转成二进制的机器码。这是编译器的任务。比如,下面这段源码(假定文件名叫做test.c)。#include <stdio.h>int main(void){ fputs("Hello, world!\n", stdout); return 0;}要先用编译器处理一下,才能运行。$ gcc test.c$ ./a.outHello, world!对于复杂的项目,编译过程还必须分成三步。$ ./configure$转载 2020-10-08 23:34:22 · 121 阅读 · 0 评论 -
字符编码ASCII,Unicode 和 UTF-8
字符编码笔记:ASCII,Unicode 和 UTF-8今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料。这个问题比我想象的复杂,午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。我尽量写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。一、ASCII 码我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制转载 2020-10-08 23:31:08 · 103 阅读 · 0 评论