二进制数的正负如何表示?
1任何数是不是在储存空间里面都是以有符号数存在的?即最高位1为负数0为正数对吗?2如系统是8位,数字101001系统会自动补足八位是么?也就是按00101001储存对不?...
1 任何数是不是在储存空间里面都是以有符号数存在的?即最高位 1 为负数 0 为正数 对吗? 2 如系统是8位,数字10 1001 系统会自动补足八位是么?也就是按0010 1001 储存对不?
展开
6个回答
2013-04-09
展开全部
针对第一个问题:对。任何数在内存中都是以补码的形式存在(其中正整数:原码=反码=补码;负整数:原反码=原码(最高位不变,其余按位取反);补码=反码+1)。 针对第二个问题:如果不满八位,系统肯定是补足八位。对于正整数而言,最高位全部填满0.对于负整数而言,按照“原反码=原码(最高位不变,其余按位取反);补码=反码+1”原则发生变化:比如-5的存储: 【因为-5表示是:1000 0101(原码)=>1111 1010(反码)=> 1111 1011(补码,存储的就是这个)】
2013-04-09
展开全部
1,你的两个问题,第一个嘛,比如 1110100 ,占一个字节,可以看作是一个无符号的数,就是228,也可以看作是有符号的数,就是-12。可以看第二个是正确的,负数是以补码形式存储的,结果就是所有负数的最高位为1,但你要注意,一个正数的相反数,绝对不是把最高位的0变成1这么简单,得转换为补码。2,存储的最小单位是字节,当然不能小于8位呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看二进制数左数第一位(即最高位):
用0表示非负数,
用1表示负数,
负数通常不用原码表示,而是用补码来表示原码,
负数原码的补码是原码的符号位不变,其余位按位取反再加1所得
对01码的解读需要考虑具体数据类型。
比如:常数+5,在计算机里数据类型为32位整型时,应该表示为0000000000000101(注意中间是没有空格的);当然如果数据类型为8位字符型的时,则表示为00000101。同理常数-5,用32位整型表示时,则为1111111111111011;用8位表示时,则为11111011。(注意-5的后面四位为1011)
反过来,如果只拿出一个1011来,则理解为十进制常数11。如果A=01000001,那么应该考虑A的数据类型,如果A是有符号8位字符型,那么最高位0是符号位;如果A是无符号8位字符型,那么最高位0就不是符号位。相应的A如果等于11000001,那么A的类型有无符号其对应的十进制值是不同的。
用0表示非负数,
用1表示负数,
负数通常不用原码表示,而是用补码来表示原码,
负数原码的补码是原码的符号位不变,其余位按位取反再加1所得
对01码的解读需要考虑具体数据类型。
比如:常数+5,在计算机里数据类型为32位整型时,应该表示为0000000000000101(注意中间是没有空格的);当然如果数据类型为8位字符型的时,则表示为00000101。同理常数-5,用32位整型表示时,则为1111111111111011;用8位表示时,则为11111011。(注意-5的后面四位为1011)
反过来,如果只拿出一个1011来,则理解为十进制常数11。如果A=01000001,那么应该考虑A的数据类型,如果A是有符号8位字符型,那么最高位0是符号位;如果A是无符号8位字符型,那么最高位0就不是符号位。相应的A如果等于11000001,那么A的类型有无符号其对应的十进制值是不同的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看二进制数左数第一位(即最高位):
用0表示非负数,
用1表示负数,
负数通常不用原码表示,而是用补码来表示原码,
负数原码的补码是原码的符号位不变,其余位按位取反再加1所得。
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制。在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而不是0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关。也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二进制来表示数字和数据。常用的进制还有8进制和16进制,在电脑科学中,经常会用到16进制,而十进制的使用非常少,这是因为16进制和二进制有天然的联系:4个二进制位可以表示从0到15的数字,这刚好是1个16进制位可以表示的数据,也就是说,将二进制转换成16进制只要每4位进行转换就可以了。
用0表示非负数,
用1表示负数,
负数通常不用原码表示,而是用补码来表示原码,
负数原码的补码是原码的符号位不变,其余位按位取反再加1所得。
二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。
二进制数(binaries)是逢2进位的进位制,0、1是基本算符;计算机运算基础采用二进制。电脑的基础是二进制。在早期设计的常用的进制主要是十进制(因为我们有十个手指,所以十进制是比较合理的选择,用手指可以表示十个数字,0的概念直到很久以后才出现,所以是1-10而不是0-9)。电子计算机出现以后,使用电子管来表示十种状态过于复杂,所以所有的电子计算机中只有两种基本的状态,开和关。也就是说,电子管的两种状态决定了以电子管为基础的电子计算机采用二进制来表示数字和数据。常用的进制还有8进制和16进制,在电脑科学中,经常会用到16进制,而十进制的使用非常少,这是因为16进制和二进制有天然的联系:4个二进制位可以表示从0到15的数字,这刚好是1个16进制位可以表示的数据,也就是说,将二进制转换成16进制只要每4位进行转换就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-09
展开全部
在计算机的数据表示中只定义了正数的表示形式,并没有定义负数的表示形式,所以,负数一般都用补码的形式表示,正数的原码、反码、补码都相同,负数的反码是除符号位为1外,其它位全取反,补码就是"反码+1"。我知道就这么多了,希望能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |