有问题就有答案
Q1:有关二进制补码运算的问题
-10000变成1000,0000,0001,0000的形式 反码为1111,1111,1110,1111 补码为1111,1111,1111,0000 相加结果为1111,1111,1111,1111(不溢出) -101000变成1000,0000,0010,1000 反码为1111,1111,1101,0111 补码为1111,1111,1101,1000 相加结果为1111,1111,1101,1101(不溢出) 注释:基本整形占用2个字节16位,计算机中没有减法,减去一个数,是通过加上它的补码的形式实现的. 关于溢出:二进制应看是否超出它的存放空间大小(注意最高位是符号位,1为负,0为正),十进制看是否在-32767--32768之间. 本人最开始当成8位算的,不好意思.我刚学,掌握的不好.哦,晕,原码转补码是否益出,你都没说原码,只给出补码,怎么知道有没有溢出,那你写上面的算术式做什么?既然是补码,不是应该做加法吗?
Q2:数字电子基础二进制补码运算问题
第二行两个运算得出的结果转成十进制不等于-3和-23,--对。--不等于。--负数和它的补码,不是等于的关系。--结果,是-3和-23的补码。他们的补码才是-3和-23,--不是这么讲。--应该说:它们,分别是-3和-23的补码。用这种方法计算结果是负数的还用再换成补码吗--已经就是补码了。--参加运算的,都是补码。--结果,就是补码。数、码,看起来相同,都是1、0,但是,概念、意义却完全不同。
Q3:二进制数补码的计算问题
每一个十进制数字最多需要四个二进制数字来表示,所以三的二进制数字原本是11,但是为了满足这四个数字,需要在高位加两个零来完成这四个数字,也就是变成0011。这只是为了方便计算,并不影响任何数字的大小。希望能帮到你。
Q4:二进制补码怎么计算的
1、正数的补码表示:正数的补码 = 原码负数的补码 = {原码符号位不变} + {数值位按位取反后+1} or= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}以十进制整数+97和-97为例:+97原码 = 0110_0001b+97补码 = 0110_0001b-97原码 = 1110_0001b-97补码 = 1001_1111b2、纯小数的原码:纯小数的原码如何得到呢?方法有很多,在这里提供一种较为便于笔算的方法。以0.64为例,通过查阅可知其原码为0.1010_0011_1101_0111b。操作方法:将0.64 * 2^n 得到X,其中n为预保留的小数点后位数(即认为n为小数之后的小数不重要),X为乘法结果的整数部分。此处将n取16,得X = 41943d = 1010_0011_1101_0111b即0.64的二进制表示在左移了16位后为1010_0011_1101_0111b,因此可以认为0.64d = 0.1010_0011_1101_0111b 与查询结果一致。再实验n取12,得X = 2621d = 1010_0011_1101b 即 0.64d = 0.1010_0011_1101b,在忽略12位小数之后的位数情况下,计算结果相同。3、纯小数的补码:纯小数的补码遵循的规则是:在得到小数的源码后,小数点前1位表示符号,从最低(右)位起,找到第一个“1”照写,之后“见1写0,见0写1”。以-0.64为例,其原码为1.1010_0011_1101_0111b则补码为:1.0101_1100_0010_1001b当然在硬件语言如verilog中二进制表示时不可能带有小数点(事实上不知道哪里可以带小数点)。4、一般带小数的补码一般来说这种情况下先转为整数运算比较方便-97.64为例,经查询其原码为1110_0001.1010_0011_1101_0111b笔算过程:-97.64 * 2^16 = -6398935 = 1110_0001_1010_0011_1101_0111b,其中小数点在右数第16位,与查询结果一致。则其补码为1001_1110_0101_1100_0010_1001b,在此采用 负数的补码 = {原码符号位不变} + {数值位按位取反后+1} 方法5、补码得到原码:方法:符号位不动,幅度值取反+1 or符号位不动,幅度值-1取反-97.64补码 = 1001_1110(.)0101_1100_0010_1001b取反 = 1110_0001(.)1010_0011_1101_0110b+1 = 1110_0001(.)1010_0011_1101_0111b 与查询结果一致6、补码的拓展:在运算时必要时要对二进制补码进行数位拓展,此时应将符号位向前拓展。-5补码 = 4"b1011 = 6"b11_1011ps.原码的拓展是将符号位提到最前面,然后在拓展位上部0.-5原码 = 4‘b’1101 = 6"b10_0101,对其求补码得6"b11_1011,与上文一致。扩展资料:计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
Q5:二进制补码运算
一分钟了解计算机与二进制
Q6:二进制补码计算,关于溢出的问题!