首页 > 编程知识 正文

补码的补码是原码,原码反码补码转换例题

时间:2023-05-06 14:59:05 阅读:148535 作者:388

文章目录基础概念原码反码补全三种编码方式存在的原因

基本概念数据在计算机内部分为带符号数和无符号数,无符号数为正数,有符号数为负数,在计算机内部以带符号数存储的正数的开头地址为0,其源代码从十进制变换为二进制后的开头地址为1, 其源代码由十进制转换为二进制,然后计算机对一个数使用一定的编码方式存储起始地址。简言之,这是为了理解计算机使用二进制运算的原理。 对C/C来说,它是与数据类型相关的源代码

原代码是在符号位上加上真值的绝对值,用最初的位表示符号,用剩馀的位表示值

正数: 10的原代码----0000000000000000000000负数-10的原代码----10000000000000010103358 www.Sina .

反符号正数的反符号==原符号负数的反符号,除了其原符号之外,符号位(首位)不变, 其余各位为正数倒数: 10的原代码----- 0000 0000 0000 0000 0000负数:---10000000000000的原代码:---10000000000000000000正数:-10的原代码000 1010负数:-10的负号--- 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 1111111111111111111 010减:-10的原码----100000000000000000000000加: 10的反码----00000000000000000000 正数: 10的补数----0000000000000000000000000负数:-10的补数:---- 111111111111111111111111111111111111111111111111111111111111111111111110三333 3三3三3三3三3三个三种代码

在两个正数之间用原码运算就可以解决了

//由于计算机只能进行加法运算,减法运算在计算机表现形式为10 1的情况下,采用原码计算如下。 10转生原代码----000000000000010101转生原代码----0000000000000000000000000000000

//因为计算机只能进行加法运算,减法运算在计算机中是10-1==10(-1 ) /后者为了计算机的表现形式,使用原著计算如下。 10转生原著----000000000001010-1转生原著----100000000000000012张加--- 1000000000000 如果在正数和负数之间使用原代码运算,则会出现问题,因此为了解决此问题会产生反向代码

//使用反码计算10-1==10(-1 ) /后者为了计算机的表现形式,使用原码计算如下。 10转生原代码----00000000000001010---- 00000000000000001010-1转生原代码----10000000000000000000000 1111111111111111111111111---- 00000000000000000000000000001111111111111转码--- 0011111111111 000000000000000000//超出左侧的部分将自动去除。 这个原始代码被转换成十进制,变成8。 注意:反转代码进行正数和负数之间的运算后得到的值不同于1。 因为反转代码进行正数和负数之间的运算得到的值不同于1

10转换补数----00000000000000001010-1转换补数----11111111111111111111111111111111111110000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。