wordpress 创建相册,安徽网站关键词优化,wordpress商,郑州直播app开发3#xff0e;经常使用数值编码 因为机器数在计算时#xff0c;假设符号位和数值位同一时候參与运算#xff0c;则可能会产生错误结果#xff1b;而假设单独考虑符号问题#xff0c;又会添加运算器件的实现难度。因此#xff0c;为了使计算机可以方便地对数值进行各种算术… 3经常使用数值编码 因为机器数在计算时假设符号位和数值位同一时候參与运算则可能会产生错误结果而假设单独考虑符号问题又会添加运算器件的实现难度。因此为了使计算机可以方便地对数值进行各种算术逻辑运算必须对数值型数据进行二进制编码处理。所谓编码是採用少量的基本符号如0和1依照一定的组合原则来表示大量复杂多样的信息的技术。编码的优劣直接影响到计算机处理信息的速度。数值型数据的经常使用编码方法包含原码、反码、补码。?xml:namespace prefix o ns urn:schemas-microsoft-com:office:office / 1原码。原码的编码规则是符号位0表示正1表示负数值部分用该数绝对值的二进制数表示。当整数时小数点隐含在最低位之后当纯小数时小数点隐含在符号位和数值位之间均不占位。通经常使用[X]原表示数X的原码。 比如设机器字长为8位 [1]原 00000001 [127]原 01111111 [0]原 00000000 [– 1]原 10000001 [– 127]原 11111111 [– 0]原 10000000 显然按原码的编码规则零有两种表示形式。 原码表示法简明易懂与其真值的转换方便比較easy进行乘除运算。可是在进行加减运算时原码运算非常不方便。因为符号位不能和数值一样參与运算所以要依据两数的符号情况同号相加异号相减还要依据两数的绝对值大小令大数减去小数最后还要推断结果的符号。这样不仅要求运算器既能作加法又能作减法还必须附加很多条件推断的处理终于既添加了运算器的实现复杂性又延长了运算的时间。 2反码。反码的编码规则是符号位0表示正1表示负正数的反码等于原码负数的反码等于原码除符号位外按位取反即0变1、1变0。通经常使用[X]反表示数X的反码。 比如设机器字长为8位 [1]反 00000001 [127]反 01111111 [0]反 00000000 [– 1]反 11111110 [– 127]反 10000000 [– 0]反 11111111 显然按反码的编码规则零也有两种表示形式。 反码非常easy由原码获得但相同不方便运算一般在求补码的过程中用到反码。 3补码。补码的编码规则是符号位0表示正1表示负正数的补码等于原码负数的补码等于反码末位加1。通经常使用[X]补表示数X的补码。 比如设机器字长为8位 [1]补 00000001 [127]补 01111111 [0]补 00000000 [– 1]补 11111111 [– 127]补 10000001 [– 0]补 00000000 显然按补码的编码规则零有惟一的表示形式。 补码的概念来源于数学上的“模”和补数。比如将钟表的时针顺时针拨快5小时和逆时针拨慢7小时最后指示的位置同样则称5和–7互为模12情况下的补数。计算机中机器数受机器字长限制所以是有限字长的数字系统。对于整数来说机器字长为n位含符号位模是2n对于有符号纯小数来说模是2。 求补运算通常利用反码来实现。 【例】 求X 1011Y –1101的原码、反码和补码。 解 [X ]原 01011 [Y ]原 11101 [X ]反 01011 [Y ]反 10010 [X ]补 01011 [Y ]补 10011 採用补码进行加减运算十分方便。通过对负数的编码处理同意符号位和数值一起參与运算能够把减法运算转化为加法运算。不论求和求差也不论操作数为正为负运算时一律仅仅做加法从而大大简化运算器的设计加快了运算速度。 比如(–9)(–5)的运算例如以下 [–9]补 11110111 11110111 [–5]补 11111011 11111011 111110010 由于机器字长的限制丢失高位1运算结果机器数为11110010是–14的补码形式。 眼下因为计算机中最多的运算是加减运算为了简化运算器设计加快运算速度有些计算机在数值表示、存储、运算时均採用补码表示法也有些计算机数用原码进行存储和传送运算时採用补码还有些计算机在进行加减法时採用补码运算而在进行乘除法时採用原码运算。 4精度和溢出 现代数字计算机是有限字长的数字系统机器数表示的范围受到机器字长和数据类型的限制一旦机器字长和数据类型确定了机器数所能表示的数的范围和精度也就确定了。所谓精度是指能够给出的有效数字的位数。一般来说机器字长越长能够表示的数的范围越大精度越高当字长同样时浮点数通常比整数能够表示的数的范围要大浮点数表示时阶码位数越多能够表示的数的范围越大尾数位数越多能够表示的数的精度越高。 假设一个数的大小超出了计算机所能表示的数的范围则产生“溢出”。假设两个正数相加结果大于机器所能表示的最大正数称为“上溢”假设两个负数相加结果小于机器所能表示的最小负数称为“下溢”。比如字长为n位的有符号整数最高1位为符号位数值位为n–1位用补码表示时数的表示范围为–2n–1~2n–1–1一旦运算时发生结果超出此范围的情况就产生溢出。 转载于:https://www.cnblogs.com/yxwkf/p/4089601.html