精华内容
下载资源
问答
  • 原码/反码/补码在线计算器

    万次阅读 2020-06-25 20:02:48
    原码/反码/补码计算器,在线计算给定整数的原码/反码/补码。 工具链接:http://www.atoolbox.net/Tool.php?Id=952 原码, 反码和补码的概念 对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码...

    原码/反码/补码计算器,在线计算给定整数的原码/反码/补码。

    工具链接:http://www.atoolbox.net/Tool.php?Id=952

    原码, 反码和补码的概念

    对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式.

    原码:原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。

    举例:

    int类型的 3 的原码是 11B(B表示二进制位), 在32位机器上占四个字节,那么高位补零就得:

    00000000 00000000 00000000 00000011

    int类型的 -3 的绝对值的二进制位就是上面的 11B 展开后高位补零就得:

    10000000 00000000 00000000 00000011      

    但是原码有几个缺点,零分两种 +0 和 -0 。很奇怪是吧!还有,在进行不同符号的加法运算或者同符号的减法运算的时候,不能直接判断出结果的正负。你需要将两个值的绝对值进行比较,然后进行加减操作 ,最后符号位由绝对值大的决定。于是反码就产生了。

     

    反码:正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反

    举例:

    int类型的 3 的反码是

    00000000 00000000 00000000 00000011

    和原码一样没什么可说的

    int类型的 -3 的反码是

    11111111 11111111 11111111 11111100

    除开符号位,所有位,取反

    解决了加减运算的问题,但还是有正负零之分,然后就到补码了

     

    补码:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1.

    举例:

    int类型的 3 的补码是:

    00000000 00000000 00000000 00000011

    int类型的 -3 的补码是

    11111111 11111111 1111111 11111101

    就是其反码加1

    最后总结:

    正数的反码和补码都与原码相同。

    负数的反码为对该数的原码除符号位外各位取反。

    负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1。

     

    扩展资料
    二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

    20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。

    展开全文
  • 原码/反码/补码计算器,在线计算给定整数的原码/反码/补码。原码, 反码和补码的概念对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式.原码原码就是早期用来...

    原码/反码/补码计算器,在线计算给定整数的原码/反码/补码。

    d08ac750c15b

    原码, 反码和补码的概念

    对于一个数, 计算机要使用一定的编码方式进行存储. 原码, 反码, 补码是机器存储一个具体数字的编码方式.

    原码:原码就是早期用来表示数字的一种方式: 一个正数,转换为二进制位就是这个正数的原码。负数的绝对值转换成二进制位然后在高位补1就是这个负数的原码。

    举例:

    int类型的 3 的原码是 11B(B表示二进制位), 在32位机器上占四个字节,那么高位补零就得:

    00000000 00000000 00000000 00000011

    int类型的 -3 的绝对值的二进制位就是上面的 11B 展开后高位补零就得:

    10000000 00000000 00000000 00000011

    但是原码有几个缺点,零分两种 +0 和 -0 。很奇怪是吧!还有,在进行不同符号的加法运算或者同符号的减法运算的时候,不能直接判断出结果的正负。你需要将两个值的绝对值进行比较,然后进行加减操作 ,最后符号位由绝对值大的决定。于是反码就产生了。

    反码:正数的反码就是原码,负数的反码等于原码除符号位以外所有的位取反

    举例:

    int类型的 3 的反码是

    00000000 00000000 00000000 00000011

    和原码一样没什么可说的

    int类型的 -3 的反码是

    11111111 11111111 11111111 11111100

    除开符号位,所有位,取反

    解决了加减运算的问题,但还是有正负零之分,然后就到补码了

    补码:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1.

    举例:

    int类型的 3 的补码是:

    00000000 00000000 00000000 00000011

    int类型的 -3 的补码是

    11111111 11111111 1111111 11111101

    就是其反码加1

    最后总结:

    正数的反码和补码都与原码相同。

    负数的反码为对该数的原码除符号位外各位取反。

    负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1。

    扩展资料

    二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的。计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0。

    20世纪被称作第三次科技革命的重要标志之一的计算机的发明与应用,因为数字计算机只能识别和处理由‘0’.‘1’符号串组成的代码。其运算模式正是二进制。19世纪爱尔兰逻辑学家乔治布尔对逻辑命题的思考过程转化为对符号"0''.''1''的某种代数演算,二进制是逢2进位的进位制。0、1是基本算符。因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。

    展开全文
  • 原码、反码、补码与位运算,原码补码反码目录导引:一、原码、反码、补码二、位运算一、原码、反码、补码计算机只有加法运算器,计算器中存储、计算数据都是补码,正数和0的原码、反码、补码相同,负数的原码、反码...

    原码、反码、补码与位运算,原码补码反码

    目录导引:

    一、原码、反码、补码

    二、位运算

    一、原码、反码、补码

    计算机只有加法运算器,计算器中存储、计算数据都是补码,正数和0的原码、反码、补码相同,负数的原码、反码、补码不同。

    原码:符号位+绝对值(0表示正数,1表示负数)

    反码:符号位不变,其余位取反

    补码:反码+1

    1、为什么要用补码存储,以及补码计算?

    因为原码和反码计算会出现+0 和 -0以及计算错误问题,而补码是正确而简单的,符号位也直接参与运算。

    示例:

    int是4字节,1字节是8位,所以一个int值是32位,第一位是符号位,所以int的取值范围是 -2^31 ~ 2^31-1(10000000 00000000 00000000 00000000~01111111 11111111 11111111 11111111,该二进制是补码)

    分别计算 2+(-1)和1+(-1),过程如下:

    2的原码、反码、补码分别是 00000000 00000000 00000010,00000000 00000000 00000010,00000000 00000000 00000010

    1的原码、反码、补码分别是 00000000 00000000 00000001,00000000 00000000 00000001,00000000 00000000 00000001

    -1的原码、反码、补码分别是 10000000 00000000 00000001,11111111 11111111 11111111 11111110,11111111 11111111 11111111 11111111

    2和-1原码相加,结果为:10000000 00000000 00000011(原码),0代表正数,1代表负数,所以值为-3,错误。

    2和-1反码相加,结果为:00000000 00000000 00000000(反码),对应原码的结果为00000000 00000000 00000000(原码),值为0,错误。

    2和-1补码相加,结果为:00000000 00000000 00000001(补码),对应原码的结果为00000000 00000000 00000001(原码),值为1,正确。

    1和-1原码相加,结果为:10000000 00000000 00000010(原码),值为-2,错误。

    1和-1反码相加,结果为:11111111 11111111 11111111 11111111(反码),对应原码的结果为10000000 00000000 00000000(原码),值为-0,不准确。(关于+0和-0的设计,有兴趣可自行百度)

    1和-1补码相加,结果为:00000000 00000000 00000000(补码),对应原码的结果为00000000 00000000 00000000(原码),值为0,正确。

    二、位运算

    位运算符包括: 与(&)、或(|)、非(~)、异或(^)、左移(<>)、无符号右移(>>>)

    &:二进制位同时为1时,结果为1,否则为0

    | :位有一个为1时,结果为1,否则为0

    ~:位0变1,1变0

    ^:位不同时,结果为1,否则为0

    <

    >>:位整体向右移动,正数左边补0,负数左边补1

    >>>:位整体向右移动,左边补0

    示例:

    public class BitOperationTest {

    public static void main(String[] args) {

    int a = 13, b = 6;

    System.out.println(" a :" + getBinaryStr(a));

    System.out.println(" b :" + getBinaryStr(b));

    System.out.println(" a&b :" + getBinaryStr(a & b));

    System.out.println(" a|b :" + getBinaryStr(a | b));

    System.out.println(" ~a :" + getBinaryStr(~a));

    System.out.println(" a^b :" + getBinaryStr(a ^ b));

    System.out.println(" a<

    System.out.println(" a>>b :" + getBinaryStr(a >> (b - 4)));

    System.out.println(" -a :" + getBinaryStr(-a));

    System.out.println(" a>>>b:" + getBinaryStr(a >> (b - 4)));

    System.out.println("-a>>>b:" + getBinaryStr((-a) >> (b - 4)));

    }

    private static String getBinaryStr(int n) {

    StringBuilder str = new StringBuilder(Integer.toBinaryString(n));

    int len = str.length();

    if (len < 32) {

    for (int i = 0; i < 32 - len; i++) {

    str.insert(0, "0");

    }

    }

    return str.substring(0, 8) + " " + str.substring(8, 16) + " " + str.substring(16, 24) + " " + str.substring(24, 32);

    }

    }

    //Result

    a    :00000000 00000000 00000000 00001101

    b    :00000000 00000000 00000000 00000110

    a&b   :00000000 00000000 00000000 00000100

    a|b   :00000000 00000000 00000000 00001111

    ~a   :11111111 11111111 11111111 11110010

    a^b   :00000000 00000000 00000000 00001011

    a<<2  :00000000 00000000 00000000 00110100

    -a   :11111111 11111111 11111111 11110011

    a>>2  :00000000 00000000 00000000 00000011

    (-a)>>2 :11111111 11111111 11111111 11111100

    a>>>2 :00000000 00000000 00000000 00000011

    (-a)>>>2:00111111 11111111 11111111 11111100

    如有疑问欢迎提出,如有错误欢迎指正。

    转载请注明本文地址:https://www.cnblogs.com/yqxx1116/p/11657307.html

    相关文章暂无相关文章

    展开全文
  • 程序员原码/反码/补码在线计算器

    千次阅读 2020-08-15 16:04:44
    在线计算给定整数的原码/反码/补码,需要注意选择8、16位、32位数据,因为他们差别很大! 工具链接:http://www.atoolbox.net/Tool.php?Id=952

    在线计算给定整数的原码/反码/补码,需要注意选择8、16位、32位数据,因为他们差别很大!

    工具链接:http://www.atoolbox.net/Tool.php?Id=952

     

    展开全文
  • 原码 反码 补码

    2020-12-15 13:59:02
    以一个byte为例 正数:原码 反码 补码三合一 1 原码 反码 补码: 0000 0001 负数:-1 原码: 1000 0001 反码:符号未不变,其他位取反:1111 1110 补码:反码+1:1111 1111 ...原码/反码/补码计算器 ...
  • 各种进制之间的相互转换,你还在用计算器吗,我总结了一些进制转换的方法,大家可以参考哦! 在这之前,我们先来看看三种进制的规则 进制 规则 十进制 逢十进一 二进制 逢二进一 八进制 逢八进一 十六...
  • 原码反码补码

    2018-11-15 19:21:51
    大学计算机入门开始讲起的原码反码补码你确定你懂了吗? 事实1:说起来你可能不信,计算机的中央处理器只会做加法(只有加法器),不会做减法。 因此提出反码补码概念是为了让计算器可以通过做加法器做减法 事实2...
  • 输入已知数据变量、选择已知变量的类型(支持原码(10进制)、原码(16进制)、原码(2进制)、反码(2进制)、反码(16进制)、补码(2进制)、补码(16进制)等已知变量),点击计算按钮,可快速求出其原码、反码、补码值。补码...
  • 计算器原码、反码和补码的一些基础知识: 来自百度百科的一些概念解释: 在计算机系统中,数值一律用补码来表示和存储; 原码一般是针对用户而言,补码是针对计算机的具体存储来使用。 转换关系: 1、正整数、负整数...
  • 目录 一、大学计算机入门开始讲起的原码反码补码你确定你懂了吗? 一、大学计算机入门开始讲起的原码反码补码你确定你懂了吗? ...1、两个事实 ...因此提出反码补码概念是为了让计算器可以通过做加法器...
  • 原码、反码、补码

    2021-03-25 22:27:53
    1000 1111 1110 1111 1100 0000 0000 0000 补码 1111 0000 0001 0000 0011 1111 1111 1111 反码 1111 0000 0001 0000 0100 0000 0000 0000 原码 ...计算器算负数时输入的应该是补码 当真值为正时,原码补码...
  • 原码,反码与补码

    2019-10-02 07:47:42
    注:数在计算器中用二进制形式进行存储,其存储形式称为该数的机器数。数字的最高位是符号位,0代表正,1代表负。  由于第一位是符号位,机器数形式值不一定等于真正的数值,因此,将带符号位的机器数对应真正的值...
  • 计算器中,十进制写入-1然后选择二进制,发现变成了11111111(后面选择字节)然后再选择十六进制,发现变成了FF然后再选择十进制,变成了255. 当初我们的十进制数是-1,现在经过一系列的变换,反而成了255. 所有...
  • 目录导引:一、原码、反码、补码二、位运算一、原码、反码、补码计算机只有加法运算器,计算器中存储、计算数据都是补码,正数和0的原码、反码、补码相同,负数的原码、反码、补码不同。原码:符号位+绝对值(0表示...
  • 基础回顾-1 原码、反码和补码

    千次阅读 2019-06-05 08:08:20
    存储器的最小单元是1个字节,即 当某个数据,转化为二进制数据时,当长度小于8位,计算器分配的仍旧是1字节的存储空间。 计算数 一个数在机器中的二进制表示形式,即为机器数。机器数最高位为符号位,正数为0,负数...
  • 一、数据概述 以C语言为例,里面所有的基本数据类型,都是以...依照冯诺依曼体系,计算机中并没有这些int float等等,而全部都是0和1表示的二进制数据,并且计算器只能理解这些0和1的数据。所以说,所有的数据在计...
  • 补码计算器 补码、反码 原码: 1个符号位 + 值位: 0为正数,1位负数 补码: 正数的补码:自身不变; 负数的补码:符号位不变,其余"按位取反,末尾加一"; 反码: 正数的反码:自身不变; 负数的反码: ...
  • 百亿计算器负数在计算机中以补码的形式存储。负数的补码表示方法是:将负数表示成二进制原码(负数最高位是1,正数最高位是0)然后将原码取反(1变0,0变1),即反码,将反码加1(最后一位上加1),即转化为补码。如用八位...
  • 一、数据概述 以C语言为例,里面所有的基本数据类型,都是以符合人类世界和...依照冯诺依曼体系,计算机中并没有这些int float等等,而全部都是0和1表示的二进制数据,并且计算器只能理解这些0和1的数据。所以说
  • 计算器与计算方法

    2020-05-13 19:23:25
    计算器与计算方法 类型一:乘法器 1.求补器的原码阵列乘法器: (利用原码,先忽略符号位) 2.求补器的补码阵列乘法器: 先利用原码 并行除法器 ...
  • 今天早上看java的源代码,发现: 用计算器转成十进制后是下面这个值: 然后我就纳闷了,Integer的最小值,不可能怎么大吧? ...于是果断写代码验证: ...负数:原码=补码取反(符号位以为的数...
  • 负数的补码表示方法是:将负数表示成二进制原码(负数最高位是1,正数最高位是0)然后将原码取反(1变0,0变1),即反码,将反码加1(最后一位上加1),即转化为补码。如用八位二进制表示-5,第一步,原码10000101,...
  • 移位操作符

    2018-06-24 23:27:24
    1.原码、反码、补码计算器内用补码表示1=[0000 0001]原=[0000 0001]反=[0000 0001]补-1=[1000 0001]原=[1111 1110]反=[1111 1111]补2.移位操作符2.1左移位(&lt;&lt;)最低位用0补int -12&lt;&lt;2...
  • 对2求补器

    千次阅读 2020-05-04 18:15:05
    计算器中,用什么机器码传输是个严峻的问题,在原码补码中间选一个是很困难的,让我们来看看各自有什么优缺点: 原码: ①直观,乘法简单; ②加减几乎没有可能性,加减需要转换为补码,需要区分正负零。 补码...
  • Java中byte的取值范围(-128~127)

    千次阅读 2017-10-18 19:02:00
    正数的原码、反码、补码都相同; 负数的反码是原码的处符号位外的数都取反,补码是反码加1; 为什么要引入补码的概念:计算器没有减法器,减法运算只能通过转化加法来进行。引用补码的好处在于相同进制的减法运算...
  • 文章目录一、第二章 计算机中的数据表示:原码补码、反码和移码二、第三章 运算方法与运算器三、第四章 指令系统四、第五章 中央处理器CPU 一、第二章 计算机中的数据表示:原码补码、反码和移码 二、第三章 ...
  • 计算器利用补码来表示一个整型 1,正数 原码补码,反码一致 2,负数 符号位不变 ,反码和原码按位取反, 补码在反码基础上加1 (一字节为八个比特位) byte 1字节 -2^7 到 2^7-1 short 2字节 -2^15 到2^15-1 ...
  • java中的位运算符

    2018-08-10 15:32:00
    //在计算机内,定点数有3种表示法:原码、反码和补码 //原码:就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 //反码:表示法规定:正数的反码与其原码相同;负数...
  • 移码,阶码

    2020-03-24 22:42:53
    我们都知道,计算机里有真值,原码,反码,补码,移码的概念。 对于真值,原码,反码,补码的介绍,可以参照这篇文章 链接 (这里面写的非常详细) 现在我就重点讲一下移码,移码,就是一个二进制数的真值加上一个...

空空如也

空空如也

1 2
收藏数 39
精华内容 15
关键字:

原码补码计算器