❶ 类型的存储与最大数最小数,为什么负数补码存储
无论什么类型的十进制数字,在计算机中,都是以二进制存储。
下面按照八位二进制来说明,其它位数,自行脑补。
十进制数 0,存放的,就是二进制 0000 0000。
十进制数 +1,就加上 1,二进制是 0000 0001。
十进制数 +2,就再加 1,二进制是 0000 0010。
。。。
十进制数 +127,加 1加 1...,就加到了 0111 1111。
+127,这就是最大数。
----------
负数怎么办?你就从 0,依次递减吧。
十进制数 0,以二进制 0000 0000 存放。
十进制数 -1,就减去 1,得 1111 1111 = 255(十进制)。
十进制数 -2,就再减 1,得 1111 1110 = 254。
十进制数 -3,就再减 1,得 1111 1101 = 253。
。。。
十进制数 -128,减 1减 1...,得 1000 0000 = 128。
不要再减了,这就是最小值了。
(你再继续减,就是 0111 1111,这就是+127 了。)
因此,最小数就是-128。
----------
总结:
零和正数:直接用二进制存放。
负数:存放形式是【256+这个负数】。
这套存放格式,就是所谓的【补码】。
求【补码】,就是这么简单。
完全不用绕到“原码反码符号位”那么远。
可以用十进制来计算。如果需要二进制,你就再转换一下。
用这个方法,不涉及原码反码符号位,就少了不少麻烦事。
----------
为什么负数用补码存储?
利用补码,可以把减法运算,转换成加法。
(所以,在计算机中,有一个加法器,就够用了。)
例如:6-2 = 4,用补码运算如下:
6 的补码是 0000 0110
+-2 的补码是 1111 1110
-----------------
(1)0000 0100 (= 4 的补码)
(括号中的 1,是进位,舍弃不要了。)
注意:
如果运算结果超出了-128~+127 的范围,结果将是错的。
这种现象称为“溢出”。
再注意一下:进位,并不等于溢出。
---------
因为补码的这个特性,所以,在计算机中,只是使用补码存放数据。
而原码反码,在计算机中,都是不存在的。
原码反码 的用途,仅仅是用于“心算、笔算”。
其实,笔算的方法,并非只有“取反加一”。
另外,-128,有补码,但是却没有原码反码!
用“取反加一”来求-128 的补码,无异于缘木求鱼。
所以,大家,完全不必在原码反码 上浪费时间精力。
但是,考试怎么办?
呃 ...,还是别跟老师较劲,他怎么讲,你就怎么答吧。
❷ 冯。诺伊曼的“程序存储”的涵义是什么
美籍匈牙利科学家冯·诺依曼最新提出程序存储的思想,并成功将其运用在计算机的设计之中,根据这一原理制造的计算机被称为冯·诺依曼结构计算机,世界上第一台冯·诺依曼式计算机是1949年研制的eniac,由于他对现代计算机技术的突出贡献,因此冯·诺依曼又被称为“计算机之父”。 简称:
CUI
说到计算机的发展,就不能不提到德国科学家冯诺依曼。从20世纪初,物理学和电子学科学家们就在争论制造可以进行数值计算的机器应该采用什么样的结构。人们被十进制这个人类习惯的计数方法所困扰。所以,那时以研制模拟计算机的呼声更为响亮和有力。20世纪30年代中期,德国科学家冯诺依曼大胆的提出,抛弃十进制,采用二进制作为数字计算机的数制基础。同时,他还说预先编制计算程序,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作。
冯诺依曼理论的要点是:数字计算机的数制采用二进制;计算机应该按照程序顺序执行。
人们把冯诺依曼的这个理论称为冯诺依曼体系结构。从ENIAC到当前最先进的计算机都采用的是冯诺依曼体系结构。所以冯诺依曼是当之无愧的数字计算机之父。
根据冯诺依曼体系结构构成的计算机,必须具有如下功能:
把需要的程序和数据送至计算机中。
必须具有长期记忆程序、数据、中间结果及最终运算结果的能力。
能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力。
能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作。
能够按照要求将处理结果输出给用户。
为了完成上述的功能,计算机必须具备五大基本组成部件,包括:
输人数据和程序的输入设备记忆程序和数据的存储器完成数据加工处理的运算器控制程序执行的控制器输出处理结果的输出设备
❸ 在不同的存储单元存储‘X'、'O'、1.345E10和35程序中前三个值作为输入数据获取,
你好,数据结构复习
本章的重点是了解数据结构的逻辑结构、存储结构、数据的运算三方面的概念及相互关系,难点是算法复杂度的分析方法。
需要达到<识记>层次的基本概念和术语有:数据、数据元素、数据项、数据结构。特别是数据结构的逻辑结构、存储结构及数据运算的含义及其相互关系。数据结构的两大类逻辑结构和四种常用的存储表示方法。
需要达到<领会>层次的内容有算法、算法的时间复杂度和空间复杂度、最坏的和平均时间复杂度等概念,算法描述和算法分析的方法、对一般的算法要能分析出时间复杂度。
对于基本概念,仔细看书就能够理解,这里简单提一下:
数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,有时一个数据元素可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。如整数这个集合中,10这个数就可称是一个数据元素.又比如在一个数据库(关系式数据库)中,一个记录可称为一个数据元素,而这个元素中的某一字段就是一个数据项。
数据结构的定义虽然没有标准,但是它包括以下三方面内容:逻辑结构、存储结构、和对数据的操作。这一段比较重要,我用自己的语言来说明一下,大家看看是不是这样。
比如一个表(数据库),我们就称它为一个数据结构,它由很多记录(数据元素)组成,每个元素又包括很多字段(数据项)组成。那么这张表的逻辑结构是怎么样的呢? 我们分析数据结构都是从结点(其实也就是元素、记录、顶点,虽然在各种情况下所用名字不同,但说的是同一个东东)之间的关系来分析的,对于这个表中的任一个记录(结点),它只有一个直接前趋,只有一个直接后继(前趋后继就是前相邻后相邻的意思),整个表只有一个开始结点和一个终端结点,那我们知道了这些关系就能明白这个表的逻辑结构了。
而存储结构则是指用计算机语言如何表示结点之间的这种关系。如上面的表,在计算机语言中描述为连续存放在一片内存单元中,还是随机的存放在内存中再用指针把它们链接在一起,这两种表示法就成为两种不同的存储结构。(注意,在本课程里,我们只在高级语言的层次上讨论存储结构。)
第三个概念就是对数据的运算,比如一张表格,我们需要进行查找,增加,修改,删除记录等工作,而怎么样才能进行这样的操作呢? 这也就是数据的运算,它不仅仅是加减乘除这些算术运算了,在数据结构中,这些运算常常涉及算法问题。
弄清了以上三个问题,就可以弄清数据结构这个概念。
通常我们就将数据的逻辑结构简称为数据结构,数据的逻辑结构分两大类:线性结构和非线性结构 (这两个很容易理解)
数据的存储方法有四种:顺序存储方法、链接存储方法、索引存储方法和散列存储方法。
下一个是难点问题,就是算法的描述和分析,主要是算法复杂度的分析方法及其运用。首先了解一下几个概念。一个是时间复杂度,一个是渐近时间复杂度。前者是某个算法的时间耗费,它是该算法所求解问题规模n的函数,而后者是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
当我们评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度,因此,在算法分析时,往往对两者不予区分,经常是将渐近时间复杂度T(n)=O(f(n)简称为时间复杂度,其中的f(n)一般是算法中频度最大的语句频度。
此外,算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。但是我们总是考虑在最坏的情况下的时间复杂度。以保证算法的运行时间不会比它更长。
常见的时间复杂度,按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、k次方阶O(n^k)、指数阶O(2^n)。
时间复杂度的分析计算请看书本上的例子,然后我们通过做练习加以领会和巩固。
数据结构习题一
1.1 简述下列概念:数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
◆ 数据:指能够被计算机识别、存储和加工处理的信息载体。
◆ 数据元素:就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。数据元素有时可以由若干数据项组成。
◆ 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
◆ 数据结构:指的是数据之间的相互关系,即数据的组织形式。一般包括三个方面的内容:数据的逻辑结构、存储结构和数据的运算。
◆ 逻辑结构:指各数据元素之间的逻辑关系。
◆ 存储结构:就是数据的逻辑结构用计算机语言的实现。
◆ 线性结构:数据逻辑结构中的一类,它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。线性表就是一个典型的线性结构。
◆ 非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。
1.2 试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。
◆ 例如有一张学生成绩表,记录了一个班的学生各门课的成绩。按学生的姓名为一行记成的表。这个表就是一个数据结构。每个记录(有姓名,学号,成绩等字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录)。这几个关系就确定了这个表的逻辑结构。
那么我们怎样把这个表中的数据存储到计算机里呢? 用高级语言如何表示各结点之间的关系呢? 是用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢? 这就是存储结构的问题,我们都是从高级语言的层次来讨论这个问题的。(所以各位赶快学C语言吧)。
最后,我们有了这个表(数据结构),肯定要用它,那么就是要对这张表中的记录进行查询,修改,删除等操作,对这个表可以进行哪些操作以及如何实现这些操作就是数据的运算问题了。
1.3 常用的存储表示方法有哪几种?
常用的存储表示方法有四种:
◆ 顺序存储方法:它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构。
◆ 链接存储方法:它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构。
◆ 索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
◆ 散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
1.4 设三个函数f,g,h分别为 f(n)=100n^3+n^2+1000 , g(n)=25n^3+5000n^2 , h(n)=n^1.5+5000nlgn 请判断下列关系是否成立:
(1) f(n)=O(g(n))
(2) g(n)=O(f(n))
(3) h(n)=O(n^1.5)
(4) h(n)=O(nlgn)
◆ (1)成立。
◇ 这里我们复习一下渐近时间复杂度的表示法T(n)=O(f(n)),这里的"O"是数学符号,它的严格定义是"若T(n)和f(n)是定义在正整数集合上的两个函数,则T(n)=O(f(n))表示存在正的常数C和n0 ,使得当n≥n0时都满足0≤T(n)≤C·f(n)。"用容易理解的话说就是这两个函数当整型自变量n趋向于无穷大时,两者的比值是一个不等于0的常数。这么一来,就好计算了吧。第(1)题中两个函数的最高次项都是n^3,因此当n→∞时,两个函数的比值是一个常数,所以这个关系式是成立的。
◆ (2)成立。
◆ (3)成立。
◆ (4)不成立。
1.5 设有两个算法在同一机器上运行,其执行时间分别为100n^2和2^n,要使前者快于后者,n至少要多大?
◆ 15
◇ 最简单最笨的办法就是拿自然数去代呗。假定n取为10,则前者的值是10000,后者的值是1024,小于前者,那我们就加个5,用15代入得前者为22500,后者为32768,已经比前者大但相差不多,那我们再减个1,用14代入得,前者为19600,后者为16384,又比前者小了,所以结果得出来就是n至少要是15.
1.6 设n为正整数,利用大"O"记号,将下列程序段的执行时间表示为n的函数。
1.6 设n为正整数,利用大"O"记号,将下列程序段的执行时间表示为n的函数。
(1) i=1; k=0
while(i { k=k+10*i;i++;
} ◆ T(n)=n-1
∴ T(n)=O(n)
◇ 这个函数是按线性阶递增的
(2) i=0; k=0;
do{
k=k+10*i; i++;
}
while(i ◆ T(n)=n
∴ T(n)=O(n)
◇ 这也是线性阶递增的
(3) i=1; j=0;
while(i+j<=n)
{
if (i else i++;
} ◆ T(n)=n/2
∴ T(n)=O(n)
◇ 虽然时间函数是n/2,但其数量级仍是按线性阶递增的。
(4)x=n; // n>1
while (x>=(y+1)*(y+1))
y++; ◆ T(n)=n1/2
∴ T(n)=O(n1/2)
◇ 最坏的情况是y=0,那么循环的次数是n1/2次,这是一个按平方根阶递增的函数。
(5) x=91; y=100;
while(y>0)
if(x>100)
{x=x-10;y--;}
else x++; ◆ T(n)=O(1)
◇ 这个程序看起来有点吓人,总共循环运行了1000次,但是我们看到n没有? 没。这段程序的运行是和n无关的,就算它再循环一万年,我们也不管他,只是一个常数阶的函数。
1.7 算法的时间复杂度仅与问题的规模相关吗?
◆ No,事实上,算法的时间复杂度不仅与问题的规模相关,还与输入实例中的元素取值等相关,但在最坏的情况下,其时间复杂度就是只与求解问题的规模相关的。我们在讨论时间复杂度时,一般就是以最坏情况下的时间复杂度为准的。
1.8 按增长率由小至大的顺序排列下列各函数: 2^100, (2/3)^n,(3/2)^n, n^n , , n! ,2^n ,lgn ,n^lgn, n^(3/2)
◇ 分析如下:2^100 是常数阶; (2/3)^n和 (3/2)^n是指数阶,其中前者是随n的增大而减小的; n^n是指数方阶; √n 是方根阶, n! 就是n(n-1)(n-2)... 就相当于n次方阶;2^n 是指数阶,lgn是对数阶 ,n^lgn是对数方阶, n^(3/2)是3/2次方阶。根据以上分析按增长率由小至大的顺序可排列如下:
◆ (2/3)^n < 2^100 < lgn < √n < n^(3/2) < n^lgn < (3/2)^n < 2^n < n! < n^n
1.9 有时为了比较两个同数量级算法的优劣,须突出主项的常数因子,而将低次项用大"O"记号表示。例如,设T1(n)=1.39nlgn+100n+256=1.39nlgn+O(n), T2(n)=2.0nlgn-2n=2.0lgn+O(n), 这两个式子表示,当n足够大时T1(n)优于T2(n),因为前者的常数因子小于后者。请用此方法表示下列函数,并指出当n足够大时,哪一个较优,哪一个较劣?
函 数 大"O"表示 优劣
(1) T1(n)=5n^2-3n+60lgn ◆ 5n^2+O(n) ◆ 较差
(2) T2(n)=3n^2+1000n+3lgn ◆ 3n^2+O(n) ◆ 其次
(3) T3(n)=8n^2+3lgn ◆ 8n^2+O(lgn) ◆ 最差
(4) T4(n)=1.5n^2+6000nlgn ◆ 1.5n^2+O(nlgn) ◆ 最优
第一章概论 复习要点
本章的复习要点是:
数据、数据元素、数据结构(包括逻辑结构、存储结构)以及数据类型的概念、数据的逻辑结构分为哪两大类,及其逻辑特征、数据的存储结构可用的四种基本存储方法。
时间复杂度与渐近时间复杂度的概念,如何求算法的时间复杂度。
可能出的题目有选择题、填空题或简答题。如:
.........是数据的基本单位,.........是具有独立含义的最小标识单位。
什么是数据结构?什么是数据类型?
数据的............与数据的存储无关,它是独立于计算机的。
数据的存储结构包括顺序存储结构、链式存储结构.......................、...........................
设n为正整数,利用大O记号,将该程序段的执行时间表示为n的函数,则下列程序段的时间复杂度可表示为:(....)
x=91;y=100;
while(y>10)
if(x>100){x=x-10;y--;}
else x++;
A. O(1) B.O(x) C.O(y) D.O(n)
等等。
顺便一提,基本概念和基本理论的掌握是得分的基本手段。
第二章:线性表(包括习题与答案及要点)
转摘
www.Ezikao.com
本章的重点是掌握顺序表和单链表上实现的各种基本算法及相关的时间性能分析,难点是使用本章所学的基本知识设计有效算法解决与线性表相关的应用问题。
要求达到<识记>层次的内容有:线性表的逻辑结构特征;线性表上定义的基本运算,并利用基本运算构造出较复杂的运算。
要求达到<综合应用>层次的内容有:顺序表的含义及特点,顺序表上的插入、删除操作及其平均时间性能分析,解决简单应用问题。
链表如何表示线性表中元素之间的逻辑关系;单链表、双链表、循环链表链接方式上的区别;单链表上实现的建表、查找、插入和删除等基本算法及其时间复杂度。循环链表上尾指针取代头指针的作用,以及单循环链表上的算法与单链表上相应算法的异同点。双链表的定义和相关算法。利用链表设计算法解决简单应用问题。
要求达到<领会>层次的内容就是顺序表和链表的比较,以及如何选择其一作为其存储结构才能取得较优的时空性能。
线性表的逻辑结构特征是很容易理解的,如其名,它的逻辑结构特征就好象是一条线,上面打了一个个结,很形象的,如果这条线上面有结,那么它就是非空表,只能有一个开始结点,有且只能有一个终端结点,其它的结前后所相邻的也只能是一个结点(直接前趋和直接后继)。
关于线性表上定义的基本运算,主要有构造空表、求表长、取结点、查找、插入、删除等。
线性表的逻辑结构和存储结构之间的关系。在计算机中,如何把线性表的结点存放到存储单元中,就有许多方法,最简单的方法就是按顺序存储。就是按线性表的逻辑结构次序依次存放在一组地址连续的存储单元中。在存储单元中的各元素的物理位置和逻辑结构中各结点相邻关系是一致的。
在顺序表中实现的基本运算主要讨论了插入和删除两种运算。相关的算法我们通过练习掌握。对于顺序表的插入和删除运算,其平均时间复杂度均为O(n)。
线性表的链式存储结构。它与顺序表不同,链表是用一组任意的存储单元来存放线性表的结点,这组存储单元可以分布在内存中任何位置上。因此,链表中结点的逻辑次序和物理次序不一定相同。所以为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还存储了其后继结点的地址信息(即指针或链)。这两部分信息组成链表中的结点结构。
一个单链表由头指针的名字来命名。
对于单链表,其操作运算主要有建立单链表(头插法、尾插法和在链表开始结点前附加一个头结点的算法)、查找(按序号和按值)、插入运算、删除运算等。以上各运算的平均时间复杂度均为O(n).其主要时间是耗费在查找操作上。
循环链表是一种首尾相接的链表。也就是终端结点的指针域不是指向NULL空而是指向开始结点(也可设置一个头结点),形成一个环。采用循环链表在实用中多采用尾指针表示单循环链表。这样做的好处是查找头指针和尾指针的时间都是O(1),不用遍历整个链表了。
判别链表终止的条件也不同于单链表,它是以指针是否等于某一指定指针如头指针或尾指针来确定。
双链表就是双向链表,就是在单链表的每个结点里再增加一个指向其直接前趋的指针域prior,这样形成的链表就有两条不同方向的链。使得从已知结点查找其直接前趋结点可以和查找其直接后继结点的时间一样缩短为O(1)。
双链表一般也由头指针head惟一确定。双链表也可以头尾相链接构成双(向)循环链表。
关于顺序表和链表的比较,请看下表:
具体要求顺序表 链表
基于空间 适于线性表长度变化不大,易于事先确定其大小时采用。 适于当线性表长度变化大,难以估计其存储规模时采用。
基于时间 由于顺序表是一种随机存储结构,当线性表的操作主要是查找时,宜采用。 链表中对任何位置进行插入和删除都只需修改指针,所以这类操作为主的线性表宜采用链表做存储结构。若插入和删除主要发生在表的首尾两端,则宜采用尾指针表示的单循环链表。 22798希望对你有帮助!
❹ 三菱PLC寄存器最高位为符号位是什么意思
在寄存器中的符号位是用来表示存储器内存储数据的正数或负数的,符号位假如为1则这个数值为负数,为0则为正数。
三菱PLC英文名又称:Mitsubish Programmable Logic Controller,是三菱电机在大连生产的主力产品。 它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。三菱PLC在中国市场常见的有以下型号: FR-FX1N FR-FX1S FR-FX2N FR-FX3U FR-FX2NC FR-A FR-Q)。
❺ 存储程序和程序控制理论的主要含义是什么
“存储程序”原理,将根据特定问题编写的程序存放在计算机存储器中,然后按存储器中的存储程序的首地址执行程序的第一条指令,以后就按照该程序的规定顺序执行其他指令,直至程序结束执行。
程序控制又称为PLC控制,通过设置参数的方式给变频器编制电动机转向、运行频率和时间的程序段,然后用相应输入端子控制某程序段的运行,让变频器按程序输出相应频率的电源,驱动电动机按设置方式运行。
(5)存储论涉及的符号含义扩展阅读
存储程序和程序控制原理的要点是,程序输入到计算机中,存储在内存储器中(存储原理),在运行时,控制器按地址顺序取出存放在内存储器中的指令(按地址顺序访问指令),然后分析指令,执行指令的功能,遇到转移指令时,则转移到转移地址,再按地址顺序访问指令(程序控制)。
理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环3种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。所谓顺序结构程序就是指按语句出现的先后顺序执行的程序结构,是结构化程序中最简单的结构。
❻ 存储论越买越贵的价格公式
Q*=SQRT(2*DS/C) ,Q*——经济订货批量,D——商品年需求量,S——每次订货成本,C——单位商品年保管费用,SQRT——根号,即开平方。
数据存储:数据存储是数据流在加工过程中产生的临时文件或加工过程中需要查找的信息。数据以某种格式记录在计算机内部或外部存储媒介上。
数据存储要命名,这种命名要反映信息特征的组成含义。数据流反映了系统中流动的数据,表现出动态数据的特征;数据存储反映系统中静止的数据,表现出静态数据的特征。
市场分析:
存储市场将继续经历飞速的变革,这些变革由现正进行的存储资源网络化以及存储虚拟化进程所推动。存储区域网络(SAN)、网络连接存储(NAS)和IP存储将在你的战略计划中起到什么作用?很多重要的业务问题同样在重塑存储业。
企业需要采用新方式从所存储的信息中收集业务情报,新的服从和报告法规的出台也表明存储需求正在迅速增长。
❼ 数据库中对于存储汉字和各种符号的字段应该定义为什么类型
需要定义成字符型,一般可用char、varchar、nchar、nvarchar等,具体需要看实际需求。
这几种类型的比较:
CHAR
CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。
VARCHAR
存储变长数据,但存储效率没有CHAR高,如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么"+1"呢?这一个字节用于保存实际使用了多大的长度。
从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。
NCHAR、NVARCHAR
这两种从名字上看比前面三种多了个"N"。和char、varchar比较起来,nchar、nvarchar最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。
所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar
❽ 1. 分别叙述内存储器,外存储器,虚拟存储器的含义与功能
所谓内存储器就是指CPU得catch 内村,用来存放系统运行是的信息。特点是:速度快,容量小。
外存储器也叫辅助存储器,用来存储永久信息。特点:速度慢,容量大。
虚拟存储器:所谓虚拟存储器就是 把内外村统一起来使用,起基本思想是把正在是用的部分保留在内存中。把暂时不用的部分防在外村中,使用时调入内存,虚拟存储器的容量与cpu的地址结构有关,如奔腾的地址位是32位,那么他的寻址空间就是2的32次方,4GB,就是说他的最大寻址空间是4GB。
❾ 什么是库存理论
存贮论(inventory theory) 存贮论又称库存理论,是 运筹学 中发展较早的分支。 早在1915年, 哈李斯 ( F.Harris ) 针对银行货币的储备问题进行了详细的研究, 建立了一个确定性的存贮费用模型,并求得了最佳批量公式。 1934年威尔逊( R.H.Wilson )重新得出了这个公式, 后来人们称这个公式为 经济订购批量公式 (简称为 EOQ公式 )。 这是属于存贮论的早期工作。 存贮论真正作为一门理论发展起来还是在本世纪50年代的事。 1958年威汀 ( T.M.Whitin )发表了《存贮管理的理论》一书, 随后阿罗( K.J.Arrow ) 等发表了〈存贮和生产的数学理论研究〉,毛恩( P.A. Moran)在1959年写了《存贮理论》。此后, 存贮论成了运筹学中的一个独立的分支, 有关学者相继对随机或非平稳需求的存贮模型进行了广泛深入的研究 。
❿ 检测硬盘的符号都是什么意思
1、MHDD是俄罗斯Maysoft公司出品的专业硬盘工具软件,具有很多其他硬盘工具软件所无法比拟的强大功能,它分为免费版和收费的完整版,本文介绍的是免费版的详细用法。
2、MHDD无论以CHS还是以LBA模式,都可以访问到128G的超大容量硬盘(可访问的扇区范围从512到137438953472),即使你用的是286电脑,无需BIOS支持,也无需任何中断支持;
3、MHDD最好在纯DOS环境下运行;
4、MHDD可以不依赖于主板BIOS直接访问IDE口,但要注意不要使用原装Intel品牌主板;
5、不要在要检测的硬盘中运行MHDD;
6、MDD在运行时需要记录数据,因此不能在被写保护了的存储设备中运行(比如写保护的软盘、光盘等);
MHDD命令详解
EXIT(热键Alt+X):退出到DOS。
ID:硬盘检测,包括硬盘容量、磁头数、扇区数、SN序列号、Firmware固件版本号、LBA数值、支持的DMA级别、是否支持HPA、是否支持AAM、SMART开关状态、安全模式级别及开关状态……等)。
INIT:硬盘初始化,包括Device Reset(硬盘重置)、Setting Drive Parameters(设定硬盘参数)、Recalibrate(重校准)。
I(热键F2):同时执行ID命令和INIT命令。
ERASE:快速删除功能,每个删除单位等于255个扇区(数据恢复无效)。
AERASE:高级删除功能,可以将指定扇区段内的数据逐扇区地彻底删除(比ERASE慢,数据恢复同样无效),每个删除单位等于1个扇区。
HPA:硬盘容量剪切功能,可以减少硬盘的容量,使BIOS检测容量减少,但DM之类的独立于BIOS检测硬盘容量的软件仍会显示出硬盘原始容量。
NHPA:将硬盘容量恢复为真实容量。
RHPA:忽略容量剪切,显示硬盘的真实容量。
CLS:清屏。
PWD:给硬盘加USER密码,最多32位,什么也不输入表示取消。被锁的硬盘完全无法读写,低格、分区等一切读写操作都无效。如果加密码成功,按F2键后可以看到Security一项后面有红色的ON。要注意,设置完密码后必须关闭电源后在开机才会使密码起作用;
UNLOCK:对硬盘解锁。先选择0(USER),再正确输入密码。注意:选择1(Master)无法解开密码。
DISPWD:解除密码,先选择0(USER),再正确输入密码。在用DISPWD之前必须先用UNLOCK命令解锁。要注意,除了用UNLOCK和DISPWD命令可以解密码之外,没有任何办法可以解锁。而且一旦将密码遗忘(或输入错误),也没有任何办法可以解锁。如果解密码成功,按F2键后可以看到Security一项后面有灰色的OFF。注意:选择1(Master)无法解开密码。
RPM:硬盘转速度量(非常不准,每次测量数值都不同)。
TOF:为指定的扇区段建立映像文件(最大2G)。
FF:从映像文件(最大2G)恢复为扇区段。
AAM:自动噪音管理。可以用AAM(自动噪音管理)命令“所听即所得”式的调节硬盘的噪音。按F2键后如果有AAM字样,就表示硬盘支持噪音调节。键入AAM命令后,会显示出当前硬盘的噪音级别,并且可以马上就听到硬盘的读写噪音,要注意硬盘的噪音和性能是成正比的,噪音越大,性能越高,反之亦然。进入AAM命令后,按0键可以关闭AAM功能,按M键可以将噪音调至最小(性能最低),按P键可以将噪音调至最大(性能最高),按+加号和-减号可以自由调整硬盘的噪音值(数值范围从0到126),按L键可以获得噪音和性能的中间值(对某些硬盘如果按+加号和-减号无效,而又不想让噪音级别为最大或最小,可以按L键取噪音中间值),按D键表示关闭AAM功能,按ENTER键表示调整结束;
FDISK:快速地将硬盘用FAT32格式分为一个区(其实只是写入了一个MBR主引导记录),并设为激活,但要使用还需用FORMAT完全格式化。
SMART:显示SMART参数,并可以对SMART进行各项相关操作。SMART ON可以开启SMART功能,SMART OFF可以关闭SMART功能,SMART TEST可以对SMART进行检测。
PORT(热键Shift+F3):显示各IDE口上的硬盘,按相应的数字即可选择相应口的硬盘,之后该口会被记录在/CFG目录下的MHDD.CFG文件中,1表示IDE1口主,2表示IDE1口从,3表示IDE2口主,4表示IDE2口从,下次再进入MHDD后此口就成了默认口,编辑MHDD.CFG文件改变该值就可以改变MHDD默认的检测端口。所以,如果进入MHDD后按F2提示Disk Not Ready,就说明当前硬盘没有接在上次MHDD默认的那个口上,此时可以使用PORT命令重新选择硬盘(或更改MHDD.CFG文件)。
CX:对昆腾CX和LCT(包括LA、LB、LC)系列硬盘进行寻道测试,可以考验这两类硬盘上的飞利浦TDA5247芯片的稳定性(因为质量不好的5247芯片在频繁寻道时最容易露出马脚)。按ESC键停止。此命令也可用在其他硬盘上,它主要通过频繁随机寻道来提升硬盘电机驱动芯片的温度,从而测试硬盘在强负荷下的稳定性。
WAIT:等待硬盘就位。
STOP(热键Shift+F4):关闭硬盘马达。
IBME:查看IBM硬盘缺陷表(P-LIST)。此时要记录大量数据,缺陷表越大,生成的文件(在IBMLST目录下)越大,如果MHDD存在软盘上的话,有可能会空间不足;
后续: