首页 > 其他分享 >原码、反码、补码

原码、反码、补码

时间:2023-02-21 22:25:58浏览次数:36  
标签:操作数 0000 补码 运算符 反码 原码

一、位运算符

(一)真值表

位运算符作用于位,并逐位执行操作。“与” “&”、“或” “|” 和 “异或” “^" 的真值表如下所示:

pqp&qp|qp^q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

(二)例子

假设如果 A = 60,且 B = 13,现在以二进制格式表示,它们如下所示:
A = 0011 1100
B = 0000 1101

A&B = 0000 1100
A | B = 0011 1101
A^B = 0011 0001
~A = 1100 0011

(三)位运算符

运算符描述
& 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。
| 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。
^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。
~ 具有"翻转"位效果,即0变成1,1变成0。
<< 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。

二、码

(一)原码

将一个整数转换成二进制形式,就是其原码。例如short a = 6; a 的原码就是0000 0000 0000 0110;更改 a 的值a = -18; 此时 a 的原码就是1000 0000 0001 0010

通俗的理解,原码就是一个整数本来的二进制形式。

(二)反码

对于正数,它的反码就是其原码(原码和反码相同);

负数的反码是将原码中除符号位以外的所有位(数值位)取反,也就是 0 变成 1,1 变成 0。例如short a = 6; a 的原码和反码都是0000 0000 0000 0110;更改 a 的值a = -18; 此时 a 的反码是1111 1111 1110 1101

(三)补码

对于正数,它的补码就是其原码(原码、反码、补码都相同);

负数的补码是其反码加 1。例如short a = 6; a 的原码、反码、补码都是0000 0000 0000 0110;更改 a 的值a = -18; 此时 a 的补码是1111 1111 1110 1110

 

可以认为,补码是在反码的基础上打了一个补丁,进行了一下修正,所以叫“补码”。

原码、反码、补码的概念只对负数有实际意义,对于正数,原码、反码、补码都是一样的。

在计算机内存中,整数一律采用补码的形式来存储。

标签:操作数,0000,补码,运算符,反码,原码
From: https://www.cnblogs.com/imreW/p/17142682.html

相关文章

  • 随堂测补码
    修改界面:<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPEhtml><html><head><metacharset="UTF-8">......
  • byte,short,int等类型的转换以及原理,原码,反码,补码
    理论:八个比特(Bit)称为一个字节(Byte),最大[11111111],即FF;两个字节称为一个字(Word,Short),最大[1111111111111111],即FFFF,两个字称为一个双字(Dword,Int),最大[1111111111111111......
  • 补码
    为什么补码等于反码+1-简书(jianshu.com)我们必须要了解的Java位运算(不仅限于Java)-陈咬金-博客园(cnblogs.com)......
  • 二进制表示:原码、反码、补码详解
    本文主要介绍计算机中二进制的表示方法,详细介绍了十进制转二进制的方法,以及原码、反码和补码的不同和应用。一、二进制的计算要进行二进制的表示,首先需要进行计算二进制......
  • 5.3.2_原补码的除法运算
    @目录一、介绍二、原码的除法运算(1)手算除法之十进制1.过程2.原理(2)手算除法之二进制1.过程2.原理(3)机器实现1.恢复余数法原理过程手算模拟总结2.加减交替法恢复余数法简化举......
  • 5.3.1_原补码的乘法运算
    @目录一、原码乘法运算(1)手算乘法1.十进制乘法2.二进制乘法3.一些问题(2)机器实现1.案例2.确定符号位3.绝对值相乘的机器实现4.补充说明(3)手算模拟原码一位乘法二、补码乘法运......
  • 数与计算机 (编码、原码、反码、补码、移码、IEEE 754、定点数、浮点数)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 5.2.3_补码加减运算器
    @目录一、加法器原理(1)介绍(2)案例1.案例一2.案例二二、补码加减运算(1)手算1.方法2.案例一3.案例二(2)加法器优化1.原理2.实现加减法3.案例三、无符号数的加减运算(1)原理(2)案例1.案......
  • C语言原码 反码 补码
    关于C语言中原码反码补码的问题对于正数来说,其原码反码补码都是一样的。在内存中存储的是他的补码。对于负数来说,其反码是在原码的基础上,符号位不变,其余为进行取反,即0......
  • 5.1.5_原反补码的特性对比
    这一小节中,我们要学习原码、反码、补码3种码的特性对比,需要注意这样的几个维度。一会我们会来分别探讨,这是小题当中很常见的考点哈。这个小节的内容不难,也不多,我们只需......