(N)r = an-1×R n"-1+an-2×R n-2 +...+ a,×RI+ao×R0+a.,×R-I+a.2xR-2+...+a.mxR-mn-1ZqxRi二i=-m这个公式太复杂了,我们看个简单的习题:比如:K进制数(26)K=20D>>2*K^1+6*K^0=2K+6=20K=7(就是7进制)2014年有一个真题:设在某进制下3×3=12,则根据此运算规则,十进制运算5+6的结果用该进制表示为A.10B.11C.14D.21解题思路:等号两边按位权展开得到十进制下的等式解析:9=3×3=(12)K=1×K~1+2×K~0=K+2K=75+6=11=1×7+4=(14)K1.2.5二进制的优点和缺点优点缺点(考的很少)位数太多只有两个数码,很容易用物理器件来实现运算规则简单和常用进制不一样,人们习惯于十进制可以表示多种形式(多媒体),可以压缩可使用逻辑代数这一数学工具附加额外的比特可以校验数据1.2.6二进制的运算算术运算1.比特算术运算:加、减、乘、除。与逻辑运算不同,各位运算不是独立的。进位和差被加数加数被减数减数借位0000000000000001001Y01000110000001000101011010110010100加法规则减法规则两个多位二进制数的加(减)法必须考虑低位向高位的进(借)位。7.三种基本逻辑运算比特的逻辑运算是基于“逻辑代数”的数学工具。是英国数学家“乔治·布尔”提出的。也称为“布尔代数”位位结果位位结果000000010101101100
这个公式太复杂了,我们看个简单的习题: 比如:K 进制数(26)K=20D >>2*K^1+6*K^0=2K+6=20 K=7(就是 7 进制) 2014 年有一个真题: 设在某进制下 3×3=12,则根据此运算规则,十进制运算 5+6 的结果用该进制表示为 A.10 B.11 C.14 D.21 解题思路:等号两边按位权展开得到十进制下的等式 解析:9=3×3=(12)K=1×K^1+2×K^0=K+2 K=7 5+6=11=1×7+4=(14)K 1.2.5 二进制的优点和缺点 优点 缺点(考的很少) 只有两个数码,很容易用物理器件来实现 位数太多 运算规则简单 和常用进制不一样,人们习惯于十进制 可以表示多种形式(多媒体),可以压缩 可使用逻辑代数这一数学工具 附加额外的比特可以校验数据 1.2.6 二进制的运算 1. 算术运算 比特算术运算:加、减、乘、除。与逻辑运算不同,各位运算不是独立的。 被加数 加数 进位 和 00 00 01 01 00 01 00 01 0 0 0 1 00 01 01 10 被减数 减数 借位 差 00 10 01 01 00 01 00 01 0 1 0 0 00 01 01 0 加法规则 减法规则 两个多位二进制数的加(减)法必须考虑低位向高位的进(借)位。 7. 三种基本逻辑运算 比特的逻辑运算是基于“逻辑代数”的数学工具。是英国数学家“乔治·布尔”提出的。也称为 “布尔代数”。 位 位 结果 0 0 0 0 1 1 1 0 1 位 位 结果 0 0 0 0 1 0 1 0 0
111111x0x011或运算运算规则与运算运算规则逻辑加:也称为“或”运算,用符号“OR”、“V”或“+”表示。逻辑乘:也称为“与”运算,用符号“AND”、“^”或“”表示。取反:也称为“非”运算,用符号“NOT”或“一”表示,取反运算最简单,“o”取反后是“1”,“1”取反后是“0”。当两个多位的二进制信息进行逻辑运算时,按位独立进行,即每一位不受同一信息的其他位的影响。因此:逻辑运算没有进位、也没有借位。两个n位的二进制数进行逻辑运算,结果一定是n位。所以逻辑运算是不会产生溢出的。逻辑运算是用门电路(用几个晶体管连接起来可以实现各种基本逻辑运算的电路)实现的。早期是用开关电路实现的。8.知识点扩展:1)计算机中任何信息都使用二进制表示。2)计算机中的减法是由加法实现的。带符号数做减法就是加上一个负数。3)乘法、除法可以用移位和加法实现的。4)算术运算是由用逻辑运算实现的,5)计算机中对信息的任何处理,都可以由逻辑运算实现。逻辑运算是由门电路实现的,所以门电路可以实现对所有信息的各种不同的处理。6)另外还有三种逻辑运算:与非、或非、异或。(知道即可)7)1.2.7二进制数在计算机中的表示二进制数在计算机中的表示分为定点数和浮点数,定点数又分为无符号数和带符号数。无论是定点数还是浮点数都属于机内码,机内码指的是数据在计算机内存储,运行的编码方案。说到底,他们都属于二进制的编码方案,和数学上的纯粹的二进制数值有很大的区别。先入为主:计算机内的数值由规定宽度的二进制数表示,所以有先定宽度后看数值的说法。宽度通常是8位二进制(一个字节)的偶数倍。表示整数使用定点数,表示小数使用浮点数。定点数分为无符号数和带符号数。无符号数相当于二进制的自然数。带符号数相当于二进制的整数。计算机内无符号数常用于地址,索引等,带符号数常用于计算。为了书写方便,教学中通常用8位二进制来表示定点数。(学习的后期某些性质要扩展到n位)宽度为8位的二进制意味着一共有2^8=256种编码可能,也就代表了256个数值。所以宽度(有时候也叫深度)代表了容量。所以就有了深度、容量和取值范围的说法。分清楚自然码、原码、反码和补码。无符号数的机内码使用自然码,带符号数的机内码使用补码。原码、反码不存在于计算机内部。浮点数中的阶码(相当于科学计数法中的指数)使用移码,尾数(相当于科学计数法中的纯小数)使用原码
1 1 1 1 X 1 1 1 1 0 X 0 或运算运算规则 与运算运算规则 逻辑加:也称为“或”运算,用符号“OR”、“∨”或“+”表示。 逻辑乘:也称为“与”运算,用符号“AND”、“∧”或“.”表示。 取反:也称为“非”运算,用符号“NOT”或“—”表示,取反运算最简单,“0”取反后是“1”, “1”取反后是“0”。 当两个多位的二进制信息进行逻辑运算时,按位独立进行,即每一位不受同一信息的其他位的影 响。因此:逻辑运算没有进位、也没有借位。两个 n 位的二进制数进行逻辑运算,结果一定是 n 位。所 以逻辑运算是不会产生溢出的。 逻辑运算是用门电路(用几个晶体管连接起来可以实现各种基本逻辑运算的电路)实现的。早期是 用开关电路实现的。 8. 知识点扩展: 1) 计算机中任何信息都使用二进制表示。 2) 计算机中的减法是由加法实现的。带符号数做减法就是加上一个负数。 3) 乘法、除法可以用移位和加法实现的。 4) 算术运算是由用逻辑运算实现的。 5) 计算机中对信息的任何处理,都可以由逻辑运算实现。 6) 逻辑运算是由门电路实现的,所以门电路可以实现对所有信息的各种不同的处理。 7) 另外还有三种逻辑运算:与非、或非、异或。(知道即可) 1.2.7 二进制数在计算机中的表示 二进制数在计算机中的表示分为定点数和浮点数,定点数又分为无符号数和带符号数。无论是定点 数还是浮点数都属于机内码,机内码指的是数据在计算机内存储,运行的编码方案。说到底,他们都属 于二进制的编码方案,和数学上的纯粹的二进制数值有很大的区别。 先入为主: 计算机内的数值由规定宽度的二进制数表示,所以有先定宽度后看数值的说法。宽度通常是 8 位二进制 (一个字节)的偶数倍。 表示整数使用定点数,表示小数使用浮点数。定点数分为无符号数和带符号数。无符号数相当于二进制 的自然数。带符号数相当于二进制的整数。计算机内无符号数常用于地址,索引等,带符号数常用于计 算。 为了书写方便,教学中通常用 8 位二进制来表示定点数。(学习的后期某些性质要扩展到 n 位) 宽度为 8 位的二进制意味着一共有 2^8=256 种编码可能,也就代表了 256 个数值。所以宽度(有时候也 叫深度)代表了容量。所以就有了深度、容量和取值范围的说法。 分清楚自然码、原码、反码和补码。无符号数的机内码使用自然码,带符号数的机内码使用补码。原码、 反码不存在于计算机内部。 浮点数中的阶码(相当于科学计数法中的指数)使用移码,尾数(相当于科学计数法中的纯小数)使用 原码
1.2.8定点数定点数分为无符号数和带符号数,分别代表了数学上的的自然数和整数。但是他们和数学上的数有很大的不同,他们被限定了宽度,从而收到了计算机的限制。1.2.9无符号数无符号数采用自然码表示。1.无符号数自然码的数码变化规律二进制十进制二进制十六进制十进制十六进制000000000OOH...1249F9H0000000101H11111001202H250FAH000000101111101032510000001103H11111011FBH404H252FCH0000010011111100505H253FDH000001011111110160000011006H254FEH11111110700000111 07H25511111111FFH无符号数的性质2.深度容量取值范围2568位0~255范围内的所有自然数16位655360~65535范围内的所有自然数2个nn位0~2^n-1范围内的所有自然数3. 不同长度无符号数在计算机内的应用bit位数字节数目取值范围应用举例810~2^n-1标准ASCII字符,256灰阶图像的像素216双字节汉子编码;UnicodeUTF-16的ASCII字符32432位计算机CPU内存地址:IPv4:彩色图像色深540WiFi秘钥长度486MAC地址64目前主流64位计算机CPU的内存地址128IPv61024公钥加密算法RSA秘钥宽度带符号数1.2.10带符号数用补码表示最高位最低位-符号位数值部分补码的设计原理4.为了在算术运算中表示整数(包括负数),科学家人为规定:1)规定宽度的N位二进制(8位二进制为例)中最高位表示符号位,其余位表示数值2)符号位表示:“0”表示正,“1”表示负
1.2.8 定点数 定点数分为无符号数和带符号数,分别代表了数学上的的自然数和整数。但是他们和数学上的数有 很大的不同,他们被限定了宽度,从而收到了计算机的限制。 1.2.9 无符号数 1. 无符号数采用自然码表示。 无符号数自然码的数码变化规律 十进制 二进制 十六进制 十进制 二进制 十六进制 0 0000 0000 00H . . 1 0000 0001 01H 249 1111 1001 F9H 2 0000 0010 02H 250 1111 1010 FAH 3 0000 0011 03H 251 1111 1011 FBH 4 0000 0100 04H 252 1111 1100 FCH 5 0000 0101 05H 253 1111 1101 FDH 6 0000 0110 06H 254 1111 1110 FEH 7 0000 0111 07H 255 1111 1111 FFH 2. 无符号数的性质 深度 容量 取值范围 8 位 256 0~255 范围内的所有自然数 16 位 65536 0~65535 范围内的所有自然数 n 位 2^n 0~2^n-1 范围内的所有自然数 3. 不同长度无符号数在计算机内的应用 bit 位数 字节数目 取值范围 应用举例 8 1 0~2^n-1 标准 ASCII 字符,256 灰阶图像的像素 16 2 双字节汉子编码;Unicode UTF-16 的 ASCII 字符 32 4 32 位计算机 CPU 内存地址;IPv4;彩色图像色深 40 5 WiFi 秘钥长度 48 6 MAC 地址 64 目前主流 64 位计算机 CPU 的内存地址 128 IPv6 1024 公钥加密算法 RSA 秘钥宽度 1.2.10 带符号数 带符号数用补码表示 4. 补码的设计原理 为了在算术运算中表示整数(包括负数),科学家人为规定: 1) 规定宽度的 N 位二进制(8 位二进制为例)中最高位表示符号位,其余位表示数值 2) 符号位表示:“0”表示正,“1”表示负
3)其余各位用自然码表示数值大小。这样的编码方案就叫原码4)由于原码不符合数学规律,于是制定了转换的规则:1)符号位为0的原码:不变2)符号位为1的原码:符号位不变,其余位取反加一举例:-1D的原码:10000001B符号位:1需要变换符号位不变其余位取反得到反码:11111110B最低位加1得到补码:11111111B注意他的十六进制形式:FFH5)综合第四步的两点形成的新的编码就是补码,符合数学规律,是计算机内真实存储带符号数的编码方案注意:如果要把补码转换为原码,变化规律同4,也就是和原码转换为补码的方式一样。5.原码和补码的数码的变化规律如下所示:原码补码十进制二进制十进制二进制十进制二进制十进制二进制-112701111111-127111111111270111 111111111111126126-201111110-126111111100111 11101111 1110125-125125-3011111011111110101111101111111011240111 1100-1241111110012401111100-411111100.......++r:+.:3-33000000111000 001100000011-125100000112-22-126000000101000001000000010100000101-11-12700000001100000010000000110000001+0-00000000001000000000000000-128100000006.总结规律规律1零和正整数的补码与原码的编码形式相同2负整数的补码与原码的编码形式不同3原码中除符号位以外的其余二进制位表示绝对值4原码的运算不符合数学规律,(+1)+(-1)>>00000001+10000001=100000105如果把八位二进制带符号整数扩展为十六位二进制带符号整数,-1D的十六进制形式:FFFFH6补码才是带符号数在计算机中的表示,属于机内码,原码和反码是求解补码的中间过程,不存在于计算机中。7原码表示存在+0和-0的问题,不符合数学的计算法法则。所以说在数学上,八位二进制带符号原码表示的整数取值范围是-127~+127。形式上只有255个数字。但是本质上依旧是256种编码。8带符号数的补码表示,可以使得减法被加法取代,简化了设计,在计算机的运算器中减法就是加上负数。但是要注意平时考试做加减法于此无关。原码和补码的性质7.宽度原码表示补码表示(机内码)
3) 其余各位用自然码表示数值大小。这样的编码方案就叫原码 4) 由于原码不符合数学规律,于是制定了转换的规则: 1) 符号位为 0 的原码:不变, 2) 符号位为 1 的原码:符号位不变,其余位取反加一 举例: -1D 的原码:10000001B 符号位: 1 需要变换 符号位不变其余位取反得到反码:1111 1110B 最低位加 1 得到补码:1111 1111B 注意他的十六进制形式:FFH 5) 综合第四步的两点形成的新的编码就是补码,符合数学规律,是计算机内真实存储带符号数的 编码方案 注意:如果要把补码转换为原码,变化规律同 4,也就是和原码转换为补码的方式一样。 5. 原码和补码的数码的变化规律如下所示: 原码 补码 十进制 二进制 十进制 二进制 十进制 二进制 十进制 二进制 127 0111 1111 -127 1111 1111 127 0111 1111 -1 1111 1111 126 0111 1110 -126 1111 1110 126 0111 1110 -2 1111 1110 125 0111 1101 -125 1111 1101 125 0111 1101 -3 1111 1101 124 0111 1100 -124 1111 1100 124 0111 1100 -4 1111 1100 . . . . 3 0000 0011 -3 1000 0011 3 0000 0011 -125 1000 0011 2 0000 0010 -2 1000 0010 2 0000 0010 -126 1000 0010 1 0000 0001 -1 1000 0001 1 0000 0001 -127 1000 0001 +0 0000 0000 -0 1000 0000 0 0000 0000 -128 1000 0000 6. 总结规律 规律 1 零和正整数的补码与原码的编码形式相同 2 负整数的补码与原码的编码形式不同 3 原码中除符号位以外的其余二进制位表示绝对值 4 原码的运算不符合数学规律, (+1)+ (-1)>> 0000 0001 + 1000 0001 = 1000 0010 5 如果把八位二进制带符号整数扩展为十六位二进制带符号整数,-1D 的十六进制形式:FFFFH 6 补码才是带符号数在计算机中的表示,属于机内码,原码和反码是求解补码的中间过程,不存在 于计算机中。 7 原码表示存在+0 和-0 的问题,不符合数学的计算法法则。所以说在数学上,八位二进制带符号 原码表示的整数取值范围是-127~+127。形式上只有 255 个数字。但是本质上依旧是 256 种编码。 8 带符号数的补码表示,可以使得减法被加法取代,简化了设计,在计算机的运算器中减法就是加 上负数。但是要注意平时考试做加减法于此无关。 7. 原码和补码的性质 宽度 原码表示 补码表示(机内码)
8bit-27+1~27-1(-127~127)-27~27-1 (-128~127)0000.0000表示+0-128表示为1000000010000000表示-0+127表示为0111111116bit-215+1~215-1(-32767~32767)-215~215-1(-32768~32767)N bit-2n-1~2n-1-1-2n-1+1~2n-1-1规律:表示范围据原点左右对称-2n-1表示为10000··0002n-1-1表示为01111:..111表示范围据原点左边比右边多一个负数比正数多一个加减法规则统一:不符合数学规则[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补定点数的性质和移位8.定点数(无符号数,带符号数)的奇偶性:无符号数与十进制数奇偶性一致:带符号数与十进制数奇偶性一致:最后一位0代表偶数:最后一位1代表基数。定点数左移一位相当于乘2;右移一位相当于除2举例:带符号数位移结果11111111 (-ID)左移一位11111110 (-2D)11111101 (-3D)右移一位溢出10000000(-128D)右移一位11000000(-64D)10000010(-126D)右移一位11000001(-63D)11000000(-64D)左移一位10000000(-128)10000010(-126D)左移一位溢出考试当中应该是不会考溢出问题的,但是要知道溢出的含义,所谓溢出就是计算机在限定的位数下无法显示数学中应该是的那个数字。即超出取值范围。(溢出在计算机当中有不一样的含义,大都理解为超出数值预定宽度的表示,我们只要理解为超出取值范围即可。学习过编程的同学不要过度延伸。)扩展知识:PC中3种不同长度的带符号整数:16位整数:16位二进位补码表示:短整数:32位二进位补码表示:长整数:64位二进位补码表示。1.2.11浮点数浮点数代表了数学上的实数,他同样收到计算机宽度的限制。以下以IEEE754标准为例。符号位、一8位23位阶码尾数任何一个实数总可以表达成一个乘幂和一个纯小数之积,科学计数法表示例如:-56.725=-0.56725×10~21.实数的表示方法(浮点表示法):用三个部分表示(考试中有时忽略符号位就变成了两部分)1)乘幂中的指数(称为阶码,是一个无符号整数,带+127偏移量(8位阶码的情况下),所以也叫移码):表示实数中小数点的位置。举例:如果真实指数是:-2则浮点数中的指数就是:125,主要是为了避免负数存在的问题。2)纯小数部分(尾数):纯小数,最高位bo为1
8bit -2 7+1~2 7 -1(-127~127) 0000 0000 表示 +0 1000 0000 表示 -0 -2 7~2 7 -1(-128~127) -128 表示为 10000000 +127 表示为 01111111 16bit -2 15+1~2 15 -1(-32767~32767) -2 15~2 15 -1(-32768~32767) N bit -2 n-1+1~2 n-1 -1 规律:表示范围据原点左右对称 -2 n-1~2 n-1 -1 -2 n-1表示为 10000···000 2 n-1 -1 表示为 01111···111 表示范围据原点左边比右边多一个 负数比正数多一个 不符合数学规则 加减法规则统一: [X+Y]补=[X]补+[Y]补 [X-Y]补=[X]补+[-Y]补 8. 定点数的性质和移位 定点数(无符号数,带符号数)的奇偶性:无符号数与十进制数奇偶性一致;带符号数与十进制数 奇偶性一致;最后一位 0 代表偶数;最后一位 1 代表基数。 定点数左移一位相当于乘 2;右移一位相当于除 2 举例: 带符号数 位移 结果 11111111(-1D) 左移一位 11111110(-2D) 11111101(-3D) 右移一位 溢出 10000000(-128D) 右移一位 11000000(-64D) 10000010(-126D) 右移一位 11000001(-63D) 11000000(-64D) 左移一位 10000000(-128) 10000010(-126D) 左移一位 溢出 考试当中应该是不会考溢出问题的,但是要知道溢出的含义,所谓溢出就是计算机在限定的位数下 无法显示数学中应该是的那个数字。即超出取值范围。(溢出在计算机当中有不一样的含义,大都理解 为超出数值预定宽度的表示,我们只要理解为超出取值范围即可。学习过编程的同学不要过度延伸。) 扩展知识:PC 中 3 种不同长度的带符号整数:16 位整数:16 位二进位补码表示;短整数:32 位二进位 补码表示;长整数:64 位二进位补码表示。 1.2.11 浮点数 浮点数代表了数学上的实数,他同样收到计算机宽度的限制。以下以 IEEE754 标准为例。 任何一个实数总可以表达成一个乘幂和一个纯小数之积,科学计数法表示例如: -56.725=-0.56725×10^2 1. 实数的表示方法(浮点表示法):用三个部分表示(考试中有时忽略符号位就变成了两部分) 1) 乘幂中的指数(称为阶码,是一个无符号整数,带+127 偏移量(8 位阶码的情况下),所以也 叫移码):表示实数中小数点的位置。举例:如果真实指数是:-2 则浮点数中的指数就是: 125,主要是为了避免负数存在的问题。 2) 纯小数部分(尾数):纯小数,最高位 b0 为 1