早教吧 育儿知识 作业答案 考试题库 百科 知识分享

1.如果一个数为32769,则在两个字节的内存单元中,其对应二进制为1000000000000001但此二进制的补码形式对应的数值却是-32678,与原数值不符,(就是在内存中不是本来存的就是补码吗?另外与原

题目详情
1.如果一个数为32769,则在两个字节的内存单元中,其对应二进制为1000 0000 0000 0001 但此二进制的补码形式对应的数值却是-32678,与原数值不符,(就是在内存中不是本来存的就是补码吗?另外与原数值,这个原数值是指神马,
2.1111 1111 1111 1111 表示-1这不是原码吗,为什么是补码呢?还有就是为何 这些数 比如 1000 0000 0000 0000就表示的是-32768呢?
请尽可能的详细一点neng
▼优质解答
答案和解析
原码:人为规定的一种数据概念,最高位为符号位,其余位为数值位,实际应用中不用
反码:也是人为规定的数据概念,正数原码即是反码,负数反码:符号位不动,数值位按位取反,实际应用中不用
补码:计算机中实际存储数据的格式,真正的数据应用.
正数的原码即是补码
负数的补码是反码+1
负数根据补码求其原码方法为:先将补码减1,将结果进行取反码
计算机中的整数,分为两类:
有符号数:第一位为符号位,其余位为数值位(如:两字节有符号数-32768到32767)
无符号数:没有符号位,全部为数值位(如:两字节无符号数0到65535)
了解了以上概念再看你的问题:
(1)1000 0000 0000 0001 解释成无符号数就是32769 解释成有符号数就是-32767
(2)1111 1111 1111 1111 表示-1,这是补码,其原码为:1000 0000 0000 0001
(3)1000 0000 0000 0000 表示-32768这是规定,不需要用运算规则去算
看了 1.如果一个数为32769,...的网友还看了以下: