引用站外地址
获取网站的Favicon图标并显示在你的网页上
owen0o0
彩色文字在一段话中方便插入各种颜色的标签,包括:红色、黄色、绿色、青色、蓝色、灰色。
超大号文字文档「开始」页面中的标题部分就是超大号文字。Volantis
A Wonderful Theme for Hexo
彩色文字在一段话中方便插入各种颜色的标签,包括:红色、黄色、绿色、青色、蓝色、灰色。
超大号文字文档「开始」页面中的标题部分就是超大号文字。Volantis
A Wonderful Theme for Hexo
带 下划线 的文本
带 着重号 的文本
带 波浪线 的文本
带 删除线 的文本
键盘样式的文本 command + D
密码样式的文本:这里没有验证码test1 1test1 2test1 3This is Tab 1.This is Tab 2.This is Tab 3.
...
条件码条件码寄存器(Condition Code Register),在 x86-64 架构中,也被称为 EFLAGS 寄存器,用于存储 CPU 执行算术或逻辑运算后的状态信息。这些状态信息由一组 条件码(condition flags)表示,通常用于判断运算结果并进行条件分支跳转。
条件码寄存器的主要用途:
保存运算结果的状态:每当 CPU 执行加法、减法、乘法、除法、比较等运算时,条件码寄存器会根据运算结果自动更新某些标志位。
用于条件跳转:汇编中的条件跳转指令(如 jz、jnz、jl 等)通过检查条件码寄存器中的标志位来决定程序执行的下一步操作。
主要的条件码标志位:条件码寄存器中有几个位用于表示算术或逻辑操作后的状态,以下是最常见的几个标志位:
条件码是隐式设置的,即不需要一条指令设置条件码,其在算术运算后自动设置(带来的电路的增多)
CF(Carry Flag,进位标志):
在无符号运算中,进位标志用于表示加法时最高位发生了进位或减法时借位。
置位条件:如果执行加法时有进位,或减法时发生了借位,则 CF 被设置为 1。
使用场景:无符号运算中的溢出检测。
C语言表示: ...
前言处理器架构处理器架构(Processor Architecture)是指计算机处理器内部的设计框架或蓝图,它定义了处理器如何执行指令、管理数据、通信等一系列操作。处理器架构是计算机硬件和软件之间的桥梁,决定了处理器如何与操作系统、编译器以及程序交互。
关键组成部分:
指令集架构(ISA):
指令集架构是处理器架构的核心部分,定义了处理器可以理解和执行的基本指令。例如,x86 和 ARM 是两种常见的指令集架构。
它包括指令的操作码(操作类型)和操作数(需要处理的数据)。ISA 还定义了寄存器的数量和大小、内存访问模式以及数据类型等内容。
寄存器和内存模型:
不同的处理器架构定义了不同的寄存器数量和大小。寄存器是处理器内部用于快速存储和处理数据的高速存储器。
内存模型决定了处理器如何与内存通信,例如是采用分段式、分页式内存管理等。
并行处理能力:
现代处理器架构通常支持多核和多线程,允许多个任务并行处理。架构设计决定了处理器如何调度这些任务和共享资源。
扩展和特性:
处理器架构还可以决定一些高级特性,如虚拟化支持、加密加速、浮点计算能力、低功耗设计等。
...
[toc]
==数据结构与算法==
a_{1}
数据结构数据结构
==按照逻辑关系==组织起来的一批数据
按一定的==存储方法==把它存储在计算机中
在这些数据上定义了一个==运算==的集合
数据结构的逻辑结构
线性结构
非线性结构
线性表
树,图
数据的逻辑结构数据的逻辑结构是从具体问题抽象出来的数学模型,反映了事物的组成结构及事物之间的逻辑关系。它可以通过集合论和图论的视角来描述和分析。
一、数据的数学模型
二元组表示法:数据的逻辑结构可以用一个二元组 B=(K, R) 来表示。
节点集合 K:由数据节点(node)组成的有穷集合。每一个节点代表一个数据或一组有明确结构的数据。
关系集合 R:定义在集合 K 上的一组二元关系(binary relation)。每个关系 r ∈ R 都是 K 上的二元关系,用来描述数据节点之间的逻辑关系。
二元关系:K 上的二元组是 ...
浮点数二进制小数简而言之,就是原来的整数多了个小数点。
浮点数可以这样表示:$$\sum_{k=-j}^{i}b_{k}\times\ 2^{k}$$例如:$$5\frac{3}{4}=101.11_{2},2\frac{7}{8}=10.111_{2},1\frac{7}{16}=1.0111_{2}$$这样的好处是,除以二就相当于右移,并且可以横跨小数点。
但是这种表示方式有明显的限制,比如说,只有形如$$\frac{x}{2^{k}}$$可以被精确表示,其他的就只能变成循环的小数,例如$$\frac{1}{3}=0.0101010101[01]…_{2}$$除此之外,另一个问题在于,如果给定了 w 个比特,能够表达的数字其实是有限的.
IEEE浮点数
IEEE 的浮点数标准更多是从数值角度来建立的,对于舍入,上溢出和下溢出都有比较统一的处理方法。但与此同时也给硬件优化带来了比较大的困难。因为和平时使用的数制也有一定差异,从理解的角度来看不够直观,但是好在主流的 CPU 都支持浮点数,所以我们不必过多涉及这方面的细节。
IEE ...
为什么学习这本书很多东西并不像看起来那样简单比如:
算法性能分析结果$\neq$实际程序性能(底层实现问题)
计算机系统中的算术$\neq$数学中的算术(溢出问题)
我们知道,在纸面上看$$ (x+1)^2≥0$$
是一定的,但是在计算机中就不一定了,比方说:
$ lldb(lldb) print (233333 + 1) * (233333 + 1)(int) $0 = -1389819292
这就是整数的溢出,当然用浮点数的表示方法可以避免溢出,但是浮点数有精度问题
# dawang at wdxtub.local in ~ [9:05:02]$ lldb(lldb) print (1e20 + -1e20) + 3.14(double) $0 = 3.1400000000000001(lldb) print 1e20 + (-1e20 + 3.14)(double) $1 = 0
你了解内存吗?我们都学过的C或者C++都没有提供任何内存保护机制,再加上强大且危险的指针,出现溢出或者段错误实在是家常便饭。这类问题的问题在于,很难确定是程序本身的问题,还是编 ...
大一鸡汤#长文警告
#高考志愿
#经历
#鸡汤
诶嘿,北大进度条25%,大一正式结束!
去年的6.24号23点53分左右,686分的成绩说实话刚开始让我眼前一喜的,但是300多名的排名让我心里不是滋味,那一夜我裹着被子哭了好久,然后后来去参加清华强基考试,400分的笔试,我竟然漏看了一个100分的作文,虽然进了面试,面试成绩也不错,但是那100分的分差直接导致了我清华强基的失败。
当时的我和大多数被PUA三年的高中生一样,对于学校,只认清北,其他都是坑,我屋里贴满了清华的明信片,书桌上也写着“杀进清华”等等类似的话,所以,这一系列:自强失败,强基失败,分数低垂,我对我的清华梦很担忧。当时上交、浙大、复旦、中科大等学校都联系了我,上交给了我计算机大类,浙大给了我机器人工程外加图灵班选拔资格,复旦给了我计算机,中科大直接给了我计算机拔尖班,我不知道该选择什么,是学校还是专业?
6.26~6.28时,我犹豫了好久,参加了上交的招生会,在国专报名快截止的时候,上交给我打了最后一次电话,说让我不要报清北,不会录到好专业,他那面会给我计算机的,我对计算机也很感兴趣,我也很看好计算机的现在和前景,因 ...
[TOC]
信息的表示和处理三种最重要的数字表示
无符号编码:基于传统的二进制表示法,表示大于或者等于零的数字
补码:表示有符号整数的最常见的方式,有符号整数就是可以为正或者为负的数字
浮点数:是表示实数的科学计数法的以2为基数的版本
计算机的表示方法是用有限数量的位来对一个数字编码,结果太大会溢出,但是对于整数运算,整数的计算机运算满足人们所熟知的真正整数运算的许多性质。
这些结果都是-884901888(溢出)
但是浮点运算则有完全不同的数学属性,溢出会产生特殊值$$+\infty$$,但是一组正数的值总是正的。由于表示的精度有限,浮点运算有时是不可结合的。例如,(3.14+1e20)-1e20求得的值会是0.0,而3.14+(1e20-1e20)求得的值会是3.14.
注意:
整数的表示虽然只能编码一个相对较小的数值范围,但是这种表示是精确地
而浮点数虽然可以编码一个较大的数值范围,但是这种表示只是近似的。
信息存储
最小的可寻址的内存单元:字节(8位的块)
机器级程序将内存视为一个非常大的字节数组,成为虚拟内存(virtual memory)
内存的每个字节都由一 ...
HEXO
未读Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment