基数

基数 在数学上,基数(cardinal number)也叫势(cardinality),指集合论中刻画任意集合所含元素数量多少的一个概念。两个能够建立元素间一一对应的集合称为互相对等集合。例如3个人的集合和3匹马的集合可以建立一 一对应,是两个对等的集合。此外还有语言学和军事上的基数。 根据对等这种关系对集合进行分类,凡是互相对等的集合就划入同一类。这样,每一个集合都被划入了某一类。任意一个集合A所属的类就称为集合A的基数,记作(或|A|,或cardA)。这样,当A 与B同属一个类时,A与B 就有相同的基数,即|A|=|B|。而当 A与B不同属一个类时,它们的基数也不同。 如果把单元素集的基数记作1,两个元素的集合的基数记作2,等等,则任一个有限集的基数就与通常意义下的自然数一致 。空集的基数也记作σ 。于是有限集的基数也就是传统概念下的"个数"。但是,对于无穷集,传统概念没有个数,而按基数概念,无穷集也有基数,例如,任一可数集 (也称可列集) 与自然数集N有相同的基数,即所有可数集是等基数集。不但如此,还可以证明实数集R与可数集的基数不同。所以集合的基数是个数概念的推广。 社保缴费基数[2]基数可以比较大小。假设A,B的基数分别是a,β,即|A|=a,|B|=β,如果A与B的某个子集对等,就称 A 的基数不大于B的基数,记作a≤β,或β≥a。如果 a≤ β,但a≠β ( 即A与B不对等 ) ,就称A的基数小于B的基数,记作a<β,或β>a。在承认策梅罗(Zermelo)选择公理的情况下,可以证明基数的三岐性定理——任何两个集合的基数都可以比较大小,即不存在集合A和B,使得A不能与B的任何子集对等,B也不能与A的任何子集对等。 基数可以进行运算 。设|A|=a ,|A|=β,且 A∩B是空集,则规定为a 与β之和记作=a +β。设|A|=a,|B|=β,A×B为 A与B的积集,规定为 a 与β的积,记作=a·β。

2011-07-03 · 1 min · 31 words · -

计算机中的原码、反码和补码

计算机中的原码、反码和补码 一、机器数和真值 机器数 数在计算机中的二进制表示形式就称为机器数。机器数是带符号的,在计算机用一个数的最高位存放符号 (0为正,1为负) ,将数的符号数值化。 十进制中的数 +5 ,计算机字长为8bits,转换成二进制就是00000101。如果是 -5 ,就是 10000101 。 00000101 和 10000101 就是机器数。 真值 因为符号占据一位,机器数的形式值就不等于真正的数值。例如上面的有符号数 10000101,其最高位1代表负,其真正数值是 -5 而不是形式值133 (10000101转换成十进制等于133) 。所以,为区别起见,带符号位的机器数对应的真正数值称机器数的真值。 例: 00100001的真值 = 0 0100001 = +33,10100011的真值 = 1 0100011 = -35 二、计算机符号数的表示方法 符号数值化后,为了方便地对机器数进行算术运算,提高运算速度,人们设计了符号数的各种编码方法,最常见的有原码、反码和补码。 原码 原码就是符号位加上真值的绝对值。简单说,就是符号位加上数的二进制表示。比如,+3 (以8bit为例) ,符号位为0,3转化为二进制就是11,那么 +3 的原码就是00000011 (不足部分补0) 。同理, -3,符号位为1,3转化为二进制就是11,那么 -3 的原码就是10000011 (不足部分补0) 。即: [+3] = [00000011]原 [-3] = [10000011]原 反码 一个负数的符号位不动,其余位取反,就是机器数的另一种表示形式——反码。正数的反码与原码形式一样。 [+3] = [00000011]原 = [00000011]反 [-3] = [10000011]原 = [11111100]反 补码 正数的原码反码补码是一样的。补码符号位不变化其余各位原码取反(反码)+1换言之 反码+1 ...

2011-07-03 · 1 min · 114 words · -

为什么要使用原码 反码 补码.

为什么要使用原码 反码 补码. 前言: 随着学习计算机知识的加深,许多地方都遇到原码、反码、补码。很多关于计算机的书籍都介绍原码、反码、补码的表示方法,但是为什么要用到原码、反码、补码却没详细说。为什么要使用?它们的原理是什么呢?我搜索了许多资料,也查找了许多书籍,终于弄明白了这个问题,收集整理如下。 我们知道数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制。而在日常生活中人们使用的是十进制,并且我们用的数值有正负之分。于是在计算机中就用一个数的最高位存放符号(0为正,1为负)。这就是机器数的原码了。 有了数值的表示方法就可以对数进行算术运算,但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下: 假设字长为8bits (1) 10 - (1)10 = (1)10 + (-1)10 = (0)10 (0 0000001)原 + (1 0000001)原 = (1 0000010)原 = ( -2 )显然不正确。 ...

2011-07-03 · 1 min · 126 words · -

指数

指数 数学概念: 在乘方a^n中,其中的a叫做底数,n叫做指数,结果叫幂

2011-07-03 · 1 min · 3 words · -

阶码

阶码 在机器中表示一个浮点数时需要给出指数,这个指数用整数形式表示,这个整数叫做阶码,阶码指明了小数点在数据中的位置。 阶码: 对于任意一个二进制数n,可用N=S×2P表示,其中S为尾数,P为阶码,2为阶码的底,P、S都用二进制数表示,S表示N的全部有效数字,P指明小数点的位置。当阶码为固定值时,数的这种表示法称为定点表示,这样的数称为"定点数";当阶码为可变时,数的这种表示法称为浮点表示,这样的数称为"浮点数",这在前面已有介绍。

2011-07-03 · 1 min · 4 words · -

移码

移码 计算机中的移码 移码 (又叫增码) 是符号位取反的补码,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。 ①移码的定义: 设由1位符号位和n位数值位组成的阶码,则 [X]移=2En + X -2n≤X ≤ 2n 例如: X=+1011 [X]移=11011 符号位"1"表示 正 号 X=-1011 [X]移=00101 符号位"0"表示 负 号 ②移码与补码的关系: [X]移与[X]补的关系是符号位互为相反数 (仅符号位不同) , 例如: X=+1011 [X]补=01011 [X]移=11011 X=-1011 [X]补=10101 [X]移=00101 ③移码运算应注意的问题: ◎对移码运算的结果需要加以修正,修正量为2En ,即对结果的符号位取反后才是移码形式的正确结果。 ◎移码表示中,0有唯一的编码——1000…00,当出现000…00时 (表示-2En) ,属于浮点数下溢。 浮点数的运算规则 浮点加减法的运算步骤 设两个浮点数 X=Mx※2Ex Y=My※2Ey 实现X±Y要用如下5步完成: ①对阶操作: 小阶向大阶看齐 ②进行尾数加减运算 ③规格化处理: 尾数进行运算的结果必须变成规格化的浮点数,对于双符号位的补码尾数来说,就必须是 001×××…×× 或110×××…××的形式 若不符合上述形式要进行左规或右规处理。 ④舍入操作: 在执行对阶或右规操作时常用"0"舍"1"入法将右移出去的尾数数值进行舍入,以确保精度。 ⑤判结果的正确性: 即检查阶码是否溢出 若阶码下溢 (移码表示是00…0) ,要置结果为机器0; 若阶码上溢 (超过了阶码表示的最大值) 置溢出标志。 例题: 假定X=0 .0110011*211,Y=0.1101101*2-10 (此处的数均为二进制) ?? 计算X+Y; 解: [X]浮: 0 1 010 1100110 ...

2011-07-03 · 1 min · 168 words · -

尾数

尾数 尾数: 在数学里,专指小数点后面的数字,现实生活中也指记账等号码的后几位,常用在手机号码、身份证号码等. 在计算机中, 对于任意一个二进制数n,可用N=S×2P表示,其中S为尾数,

2011-07-03 · 1 min · 5 words · -

定点数

定点数 定点数: 计算机中采用的一种数的表示方法。参与运算的数的小数点位置固定不变。 定点整数: 小数点位固定在最后一位之后称为定点整数。若机器字长为n+1位,数值表示为: X=X0X1X2…Xn,其中Xi={0,1},0≤i≤n 即(-1)^X0 * (X1*2^(n-1) + X2*2^(n-2) + … + Xn-1*2 + Xn) 数值范围是 -(2^n-1)≤X≤2^n-1 例如: 1111表示-7。 定点小数: 小数点固定在最高位之后称为定点小数。若机器字长为n+1位,数值表示为: X=X0.X1X2…Xn,其中Xi={0,1},0≤i≤n (这里X0不表示数字,只表示符号,若X0=0,则代表X=0.X1X2…Xn,X0=1,则代表-0.X1X2…Xn)。 即 (-1)^X0 * (X1*2^(-1)) + X2*2^(-2) + … + Xn-1*2^(-n+1) + Xn*2^(-n) 数值范围是 -(1-2^(-n))≤X≤1-2^(-n) 例如: 1111表示-0.875 (定点小数也被用在浮点数的尾数(Mantissa)部分)

2011-07-03 · 1 min · 42 words · -

整数

整数 整数 (Integer) : 像-2,-1,0,1,2这样的数称为整数。 (整数是表示物体个数的数,0表示有0个物体) 整数是人类能够掌握的最基本的数学工具。整数的全体构成整数集,整数集合是一个数环。在整数系中,自然数为0和正整数的统称,称0为零,称-1、-2、-3、…、-n、… (n为整数)为负整数。正整数、零与负整数构成整数系。 一个给定的整数n可以是负数 (n∈Z-) ,非负数 (n∈Z*) ,零 (n=0) 或正数 (n∈Z+) .

2011-07-03 · 1 min · 17 words · -

实数

实数 包括有理数和无理数。其中无理数就是无限不循环小数,有理数就包括整数和分数。数学上,实数直观地定义为和数轴上的点一一对应的数。本来实数仅称作数,后来引入了虚数概念,原本的数称作"实数"——意义是"实在的数"。

2011-07-03 · 1 min · 2 words · -

浮点数

浮点数 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数 (即尾数) 乘以某个基数 (计算机中通常是2) 的整数次幂得到,这种表示方法类似于基数为10的科学记数法。 浮点计算: 是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。 一个浮点数a由两个数m和e来表示: a = m × b^e。在任意一个这样的系统中,我们选择一个基数b (记数系统的基) 和精度p (即使用多少位来存储) 。m (即尾数) 是形如±d.ddd…ddd的p位数 (每一位是一个介于0到b-1之间的整数,包括0和b-1) 。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位 (s 代表+或者-) 来表示正负,这样m必须是正的。e是指数。 浮点表示法: 把数的范围和精度分别表示的方法,相当于数的小数点的位置随比例因子的不同而在一定范围内可以自由浮动。 阶码: 浮点数编码中,表示小数点的位置的代码。 尾数: 浮点数据编码中,表示数据有效值的代码。 基数: 浮点数据编码中,对阶码所代表的指数值的数据,在计算机中是一个常数,不用代码表示。 定点数是小数点固定的数。在计算机中没有专门表示小数点的位,小数点的位置是约定默认的。一般固定在机器数的最低位之后,或是固定在符号位之后。前者称为定点纯整数,后者称为定点纯小数。 浮点数的表示范围: 最常用的32位规格化浮点数的表示范围是: 前提条件:阶码用移码表示,尾数用补码表示,每1位是符号位,阶码占8位,尾数占23位 可表示的最大正数:(1-2^-23)*2^127 最小正数:2^-129 最大负数:-2^-129 目前多数系统都按照IEEE-754标准来规定浮点数的存储格式。IEEE754规定,单精度浮点数用4字节存储,双精度浮点数用8字节存储,分为三个部分: 符号位、阶码和尾数。阶码即指数,尾数即有效小数位数。单精度格式阶码占8位,尾数占24位,符号位1位,双精度则为11位阶码,53位尾数和1位符号位, 显然差别就出来了。即使都是4字节存储的单精度浮点数,还有不使用IEEE754标准的,我记得字长32位的大型IBM系列机就是1位符号位,24位尾数,7位阶码,基数16,而不是2,与此标准不同。所以浮点数的表示范围依赖的因素较多较复杂,主要取决于表示一个浮点数所用的字节数和阶码的大小与长度。说法不一样,但应该都是有根据的。 最小负数:-2^127 规格化表示 java中的浮点数采用的事IEEE Standard 754 Floating Point Numbers标准,该标准的规范可以参考http://blog.csdn.net/treeroot/articles/94752.aspx. float占用4个字节,和int是一样,也就是32bit. 第1个bit表示符号,0表示正数,1表示负数,这个很好理解,不用多管. 第2-9个bit表示指数,一共8为(可以表示0-255),这里的底数是2,为了同时表示正数和负数,这里要减去127的偏移量.这样的话范围就是(-127到128),另外全0和全1作为特殊处理,所以直接表示-126到127. 剩下的23位表示小数部分,这里23位表示了24位的数字,因为有一个默认的前导1(只有二进制才有这个特性). 最后结果是:(-1)^(sign) * 1.f * 2^(exponent) 这里:sign是符号位,f是23bit的小数部分,exponent是指数部分,最后表示范围是(因为正负数是对称的,这里只关心正数) 2^(-126) ~~ 2(1-2^(-24)) * 2^127 这个还不是float的取值范围,因为标准中还规定了非规格化表示法,另外还有一些特殊规定. 非规格化表示: 当指数部分全0而且小数部分不全0时表示的是非规格化的浮点数,因为这里默认没有前导1,而是0. ...

2011-07-03 · 1 min · 87 words · -

有理数

有理数 有理数是整数和分数的统称,一切有理数都可以化成分数的形式。 有理数可分为整数和分数也可分为正有理数,0,负有理数。除了无限不循环小数以外的实数统称有理数。

2011-07-02 · 1 min · 3 words · -

IEEE754

IEEE754 IEEE754代码 标准表示法 为便于软件的移植,浮点数的表示格式应该有统一标准 (定义) 。1985年IEEE (Institute of Electrical and Electronics Engineers) 提出了IEEE754标准。该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据原码的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的多一位。 类型 存储位数 偏移值 数符(s) 阶码(E) 尾数(M) 总位数 十六进制 十进制 短实数(Single,Float) 1位 8位 23位 32位 0x7FH +127 长实数(Double) 1位 11 位 52位 64位 0x3FFH +1023 临时实数(延伸双精确度,不常用) 1位 15位 64位 80位 0x3FFFH +16383

2011-07-02 · 1 min · 44 words · -

原码 反码 补码

原码 反码 补码 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。 那么,这里的 00000011 和 10000011 就是机器数。 真值 因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131 (10000011转换成十进制等于131) 。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。 例: 0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1 在计算机内,定点数有3种表示法: 原码、反码和补码。 原码: 原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 = 1000 0001 第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是: [1111 1111 , 0111 1111] 即 [-127 , 127] ...

2011-06-26 · 2 min · 316 words · -

apache basic

apache basic apache path /etc/apache2/apache2.conf /etc/apache2/httpd.conf /var/log/apache2 linux apache 版本 linux 自动安装的 apache: sudo apachectl -v 启动/重启/停止apache服务器 Task: Start Apache 2 Server /启动apache服务 # /etc/init.d/apache2 start or $ sudo /etc/init.d/apache2 start Task: Restart Apache 2 Server /重启apache服务 # /etc/init.d/apache2 restart or $ sudo /etc/init.d/apache2 restart Task: Stop Apache 2 Server /停止apache服务 # /etc/init.d/apache2 stop or $ sudo /etc/init.d/apache2 stop

2011-05-29 · 1 min · 59 words · -

开机自动运行

开机自动运行 用户登录时, bash会在用户目录下按顺序查找以下三个文件,执行最先找到的一个. ~/.bash_profile ~/.bash_login ~/.profile 在上述文件中加入相应命令可以启动某些程序. 如: sh /***/tomcat/bin/startup.sh

2011-05-08 · 1 min · 10 words · -

touch

touch touch fileA 更改 fileA 的日期时间, 默认修改 access, modify, change 三个时间, 如果文件fileA不存在touch命令会在当前目录下创建一个空白文件 fileA.

2011-05-01 · 1 min · 13 words · -

shell 判断文件存在

shell 判断文件存在 myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" -d 参数判断$myPath是否存在 if [ ! -d “$myPath”]; then mkdir “$myPath” fi -f 参数判断$myFile是否存在 if [ ! -f “$myFile” ]; then touch “$myFile” fi “[” 后面要有空格 “]“前面要有空格 另外使用变量时,如: mv $myFile $… myFile 路径中不能有”~” @_@

2011-05-01 · 1 min · 38 words · -

Emacs 快捷键, keys

Emacs 快捷键, keys C = Control M = Meta = Alt|Esc Del = Backspace 基本快捷键(Basic) C-v 向下翻一页 M-v 向上翻一页 C-x C-f 在缓冲区打开/新建一个文件 C-x C-s 保存文件 C-x C-w 使用其他文件名另存为文件 C-x C-v 关闭当前缓冲区文件并打开新文件 C-x i 在当前光标处插入文件 C-x b 新建/切换缓冲区 C-x C-b 显示缓冲区列表 C-x k 关闭当前缓冲区 C-z 挂起emacs C-X C-c 关闭emacs 光标移动基本快捷键(Basic Movement) C-f 后一个字符 C-b 前一个字符 C-p 上一行 C-n 下一行 M-f 后一个单词 M-b 前一个单词 C-a 光标移到行首 C-e 光标移到行尾 M-< 到文件开头 M-> 到文件末尾 ...

2011-05-01 · 4 min · 648 words · -

linux shell sleep,wait

linux shell sleep,wait sleep 5 等待 秒 一、启动后台子任务 在执行命令后加&操作符,表示将命令放在子shell中异步执行。可以达到多线程效果。如下, sleep 10 #等待10秒,再继续下一操作 sleep 10 & #当前shell不等待,后台子shell等待 二、wait命令介绍 wait [作业指示或进程号] 1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态。如果没有制定参数,则等待所有子进程的退出,其退出状态为0. 2.如果是shell中等待使用wait,则不会等待调用函数中子任务。在函数中使用wait,则只等待函数中启动的后台子任务。 3.在shell中使用wait命令,相当于高级语言里的多线程同步。 三、例子 1.使用wait等待所有子任务结束。 #!/bin/bash sleep 10 & sleep 5& wait #等待10秒后,退出 #!/bin/bash sleep 10 & sleep 5& wait $! #$!表示上个子进程的进程号,wait等待一个子进程,等待5秒后,退出 2.在函数中使用wait #!/bin/bash source ~/.bashrc fun(){ echo “fun is begin.timeNum:$timeNum” local timeNum=$1 sleep $timeNum & wait #这个只等待wait前面sleep echo "fun is end.timeNum:$timeNum" } fun 10 & fun 20 & ...

2011-05-01 · 1 min · 100 words · -