计算机是如何识别数据的表示是原码,补码,还是反码的?
计算机是如何识别数据的表示是原码,补码,还是反码的?在数的编码中,小数点和指数底采取隐含处理是怎么隐含处理的?微机原理没有学好啊...
计算机是如何识别数据的表示是原码,补码,还是反码的?
在数的编码中,小数点和指数底采取隐含处理
是怎么隐含处理的?
微机原理没有学好啊 展开
在数的编码中,小数点和指数底采取隐含处理
是怎么隐含处理的?
微机原理没有学好啊 展开
4个回答
展开全部
不是计算机如何识别这些码,而是这些码都是由人定的。比如浮点数表示中尾数用补码,阶用移码等等。相应的运算都有电路,比如在Booth乘中的电路就实现了补码的乘。这些运算电路都是人们根据规定的码型来设计的。运算是ALU(算数逻辑单元)完成,里面有很多运算电路,都是完成不同运算的。建议你可以查阅一下计算机组成原理方面的书。
一定要记住,不是计算机来识别这些码,而是人们在规定了这些码及其运算之后,又通过设计电路让计算机实现的。
一定要记住,不是计算机来识别这些码,而是人们在规定了这些码及其运算之后,又通过设计电路让计算机实现的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我理解你想问的问题,咱们以short int类型为例子来说明。
short int 类型在计算机中为两个字节,它表示的范围为+(2^7-1)到-(2^7),而不是+(2^8-1)到-(2^8),也就是说两个字节的最高位实际上还是符号位,当最高位为0时候,表示的是原码(正数),当最高位为1时候,说明这个数是补码(负数)。
这个在VS中可以验证,定义
short int a,b;
a=32768;
b=-32768;
在调试模式下,看两个变量的内存值,你就会发现两个值都是-32768(00,80)
简而言之,在计算机内表示的一个二进制数,不可能既是原码又是补码,所以计算机是能够区分的。
short int 类型在计算机中为两个字节,它表示的范围为+(2^7-1)到-(2^7),而不是+(2^8-1)到-(2^8),也就是说两个字节的最高位实际上还是符号位,当最高位为0时候,表示的是原码(正数),当最高位为1时候,说明这个数是补码(负数)。
这个在VS中可以验证,定义
short int a,b;
a=32768;
b=-32768;
在调试模式下,看两个变量的内存值,你就会发现两个值都是-32768(00,80)
简而言之,在计算机内表示的一个二进制数,不可能既是原码又是补码,所以计算机是能够区分的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在计算机系统中,数值,一律用补码表示(存储)。
所以,原码反码,在计算机中,都不存在。
因此,也就没有识别的问题。
在机器数中,只有 1、0,没有小数点。
小数点在何位置?
这个位置,必须由编程人自己记住。
计算机中,并没有位置信息,这就是“隐含”。
所以,原码反码,在计算机中,都不存在。
因此,也就没有识别的问题。
在机器数中,只有 1、0,没有小数点。
小数点在何位置?
这个位置,必须由编程人自己记住。
计算机中,并没有位置信息,这就是“隐含”。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询