精华内容
下载资源
问答
  • 二进制取反运算

    千次阅读 2020-06-27 16:59:27
    1、关于二进制表示 1、正数补码 2、负数补码 3、取反运算 1、关于二进制表示 这里有几个概念,关于原码、补码和反码 补码:在计算机系统中,数值一律用补码来表示(存储) (正数的补码是其原码。例如十进制...

    总结一下,有点疑惑。

    目录

    1、关于二进制表示

    1、正数补码

    2、负数补码

    3、取反运算


    1、关于二进制表示

    这里有几个概念,关于原码、补码和反码

    补码:在计算机系统中,数值一律用补码来表示(存储)

    (正数的补码是其原码。例如十进制数8,其二进制原码表示为00001000,则其补码即为0000 1000。最高位是符号位,这里0000 1000标红的0是符号位,0表示是正数,如果是1的话就表示负数,例如1000 1000就表示-8。)

    不知道大家有没有疑惑128明明可以表示为10000000,但是这样的话最高位就是符号位了呀。。。。。。那10000000不是应该表示一个负数吗?其实是我自己理解错了,来解释一下,首先128是一个整数,一个整数有4个字节,而一个字节有8位。所以128的正确原码应该为00000000 00000000 00000000 100000000,只是平常写的时候8位能计算得128,所以也就忽略了高位二进制。但是我又有了一个疑惑,可以用下面一句话解答:

     8位二进制编码带符号数的范围只有-127~+127(补码为-128~+127),所以要表示128的话需要9位二进制编码。根据这一句话我明白,应该根据整数的大小来确定所需字节数,而不需要把所有字节列出来。上面举例的8,在一个字节表示的数字范围内,所以可以直接用8位二进制来表示,最高位表示符号位。

    所以理解了数据的二进制表示,下面开始了解。

    1、正数补码

    正数的就比较简单了   反码=补码=原码

    2、负数补码

    负数就复杂一点了

    例如(-4)

    首先(4)的二进制为0000 0100

    所以(-4)的二进制为1000 0100

    (-4)的反码(取反):符号为1不变,紧跟着后面的每一位取反,得1111 1011

    (-4)补码:用反码加1,二进制相加,逢2进1。得1111 1100

    3、取反运算

    计算机中的运算符取反是怎样计算的呢?

    例如0011 1100  表示整数60   在计算机中对其执行取反动作后结果是是-61,这是什么意思呢?

    首先我们来取反后得到1100 0011,如果我们单纯的加起来就是195,可是并不是-61呀?

    OK,我们知道计算机中是以补码的方式存储数据的。所以对取反后的二进制码我们需要求出其补码。这时的补码表示的才是最后的整数。我们来看一下,这里1100 0011最高位是1,说明这是一个负数,那么需要先对这个取反过来的二进制再取反,符号位不变,得1011 1100,补码=反码+1,所以再对1011  1100加1,得1011 1101,这时再转化成十进制数就是-61了。

    上面的方法用来理解为什么是-61就行,但是计算的话这里还有一个快速的办法来求解。

    取反后得到的1100 0011表示整数195,然后可以直接用195-256=-61

    展开全文
  • Java中关于十进制取反问题解决

    千次阅读 2015-08-05 17:51:38
    进制取反举例说明: 比如: 1取反(~1)为-2,-1(~-1)取反为0,首先这问题关系到原码,反码,补码的知识,这里就不做详细说明. (1)以正整数说明:现在对1以一个字节(1字节为8位)为例:1=0000 0001,~1表示...

    首先再此申明:正数在计算机中是用二进制表示的,负数在计算机中是用补码表示的.

    十进制数取反,举例说明:

    比如: 1取反(~1)为-2,-1(~-1)取反为0,首先这问题关系到原码,反码,补码的知识,这里就不做详细说明.

    (1)以正整数说明:现在对1以一个字节(1字节为8位)为例:1=0000 0001,~1表示按位取反=1111 1110因为计算机中存储的是补码,解释一下:这个补码的值减1,变成反码 1111 1101,首位为符号位,不变,其余取反,转为原码:1000 0010 = -2;即1取反为-2.


    (2)以负整数说明:因为计算机中存储的是补码(二进制),所以我们先求出原码,转化为反码,再加1 为补码(注意符号位不变),在对补码取反(符号位根据取反变化)转化为10进制即为我们所求结果!现在对-1以一个字节(1字节为8位)为例:-1=10000001,反码为:11111110,补码为:11111111,在对补码取反为:00000000,所以转化为10进制为0 ,即-1取反为0.

    大家可以用eclipse或者其他开发工具验证:如:

    int x = 1 ,y = -1, z = 3, k = -3;

    System.out.println(~x);//-2
    System.out.println(~y);//0
    System.out.println(~z);//-4
    System.out.println(~k);//2

    展开全文
  • 二进制与十进制

    2020-12-15 10:29:32
    1.0正整数转换为二进制 学习目标: 通过这篇博文可以对二进制和十进制之间的转换有一个详细的了解,达到举一反三,融会贯通. 学习内容: 1. 正整数和二进制之间的转换 2. 负整数和二进制之间的转换 ...对二进制取反,这

    1.0正整数转换为二进制

    学习目标:

    通过这篇博文可以对二进制和十进制之间的转换有一个详细的了解,达到举一反三,融会贯通.

    学习内容:

    1. 正整数和二进制之间的转换
    2. 负整数和二进制之间的转换
    3. 二进制和十进制之间的转换
    4. 小数和二进制之间的转换

    知识点:

    1. 整数转化为二进制

    图片

    重点:除2取余,倒序排列,将一个数除以2取余数,然后继续除以2,直到余数为0,或者为1,将取得的余数到过来写就是该整数的二进制.
    1. 负整数转化为二进制
    • 取得52的二进制
    • 对二进制取反,这样就得到一个正整数的二进制
    • 加1,在二进制后面加1,就完成正整数到负整数的转换.
    重点:取反加1(加的时候记得满2进1)
    1. 小数转化为二进制

    举例:0.3转化为二进制
    0.3x2=0.6 ***************** 0
    0.6x2=1.2 ***************** 1
    0.2x2=0.4 **************** 0
    0.4x2=0.8 ***************** 0
    0.8x2=1.6 ***************** 1
    0.6x2=1.2 *****************1 (停止操作)

    解释:对被转换的小数乘以2,然后取整数的部分,然后再用得到的乘积取小数部分再乘以2,依次操作,直到出现同一个结果的时候停止操作.

    1. 二进制和时间之间的转换
      在这里插入图片描述
      以上的博文内容是借鉴http://www.360doc.com/content/11/0308/14/5327079_99222581.shtml
    展开全文
  • 计算机原码,反码,补码的计算规则以及计算机内部二进制加减法举例 ##<1>. 原码:符号位+数组位;第一位为符号位,正数为0,负数为1;后面的位数为数值位,是真值的二进制表现形式。 反码:正数的反码就是原码...

    计算机原码,反码,补码的计算规则以及计算机内部二进制加减法举例

    ##<1>.

    原码:符号位+数组位;第一位为符号位,正数为0,负数为1;后面的位数为数值位,是真值的二进制表现形式。

    反码:正数的反码就是原码,负数的反码是在原码的基础上进行变动,将原码的符号位不变+原码的数值位每一位都取反就可以得到反码。

    补码:正数的补码也是原码,不需要进行变化,负数的补码也是在反码的基础上进行变化,将反码的符号位照搬不用进行变化+反码的数值位加1(按照二进制的加减法则进行运算)。

    例:
    数值 5 -5的原码、反码、补码。(以8位二进制为例)
    原码:00000101 10000101
    反码:00000101 11111010
    补码:00000101 11111011

    数值 3 -3的原码、反码、补码。(以8位二进制为例)
    原码:00000011 10000011
    反码:00000011 11111100
    补码:00000011 11111101

    计算表达式:

    (1) 5 + (-3) = 2

    使用补码计算计算: 00000101 + 11111101 = 00000010(正数) = 2

    (2) 3 + (-5) = -2

    使用补码计算计算: 00000011 + 11111011 = 11111110 (补码) -1=11111101(反码) ——>【取反】 =10000010(原码)=-2

    <2>.假如我的朋友不懂计算机,用通俗易懂的语言向朋友介绍计算机系统是如何工作的?

    *首先,计算机有各种各样的输入输出设备,我们人或者使用者可以直接明了的进行操作,比如键盘,鼠标,触屏,显示屏等等就是我们最常见的输入输出设备。

    *其次,电脑工作是一个对于信息、指令进行存储,计算,并且对于计算结果再进行存储的一个过程,比如点击电脑桌面一张图片,电脑就会从硬盘里面将图片
    的信息读入到内存里面经过一系列机器操作,再对于操作计算后的结果进行存储,最后显示在电脑屏幕上面的过程。

    *计算机在开始运行后,会首先从内存中按照顺序取出第一条指令,根据指令要求从存储中获取需要的数据,然后再根据指令要求对于所取数据进行一系列运算
    和逻辑操作,最后按照指令指定的内存地址将操作过后的数据放入其中,接下来才继续在内存中读取下一条指令,这样往复下去直至指令全部执行完毕。

    *程序和数据按照程序规定的方式进行有序的取指令,完成指令操作。

    展开全文
  • 二进制如何转十进制,十进制如何转二进制

    万次阅读 多人点赞 2018-04-06 17:57:29
    学计算机的朋友刚开始学习时都要接触进制之间的转换,二进制、十进制、八进制、十六进制等,这个是很枯燥的,转来转去就转蒙圈了,别蒙别蒙,今天咱们一个一个搞定,看看二进制和十进制之间如何相互转换的。 转成...
  • 二进制

    2020-10-05 16:48:37
    龙芯班讲义——二进制 文章目录龙芯班讲义——二进制前言进制二进制补码与反码应用 前言 世界上分两种人,第1种是知道二进制的,第10种是不知道二进制的。 进制 所谓进制,就是进位制度。 0 1 2 3 4 5 6 7 8 9,十个...
  • 首先先理解这句话的意思,“(1)补码的(2)补码就是原码”,其中第一个标注的"补码",就是名词...其实在二进制里,"减一取反"和"取反加一"等价,所以我们可以这么做 为什么等价呢? 假设一个N位的二进制数,可表示的...
  • 二进制学习01进制一、二进制简介1)什么是二进制?2)二进制的简写形式二、进制运算1)八进制运算表(1) 加法运算表(2)乘法运算表(3)八进制简单运算题三、数据宽度1)什么是数据宽度2)计算机中常用的基本数据宽度四、无...
  • 我们现实生活中用的最多的就是十进制,逢十进一.但是我们的计算机为什么要采用二进制?...进制之间可以互相转换,最常用的是 二进制 八进制 十进制 十六进制十进制二进制八进制十六进制10011001001446...
  • 负数的二进制

    万次阅读 多人点赞 2019-03-08 16:31:21
    其中x为一任意int型正整数,左式表示取x的相反数后的二进制形式,右式表示先将x的二进制按位取反后再加一得到的二进制形式。 左右两个二进制相同" 假设有一个 int 类型的数,值为5,那么,我们知道它在...
  • 转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制; 1、 正整数转成二进制。要点一定一定要记住哈:除二取余,然后倒序...哎呀,还是举例说明吧,比如42转换为二进制,如图1所示操作。 ...
  • 一、计算机中的二进制位运算二进制的位运算并不是很难掌握,因为位运算总共只有5种运算:与、或、异或、左移、右移。与、或和异或运算的规律我们可以用表1总结如下。表1 与、或、异或的运算规律与(&)0 & 0 =...
  • 一、计算机中的二进制位运算??二进制的位运算并不是很难掌握,因为位运算总共只有5种运算:与、或、异或、左移、右移。与、或和异或运算的规律我们可以用表1总结如下。表1 与、或、异或的运算规律与(&)0 & 0...
  • 转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制; 1、 正整数转成二进制。要点一定一定要记住哈:除二取余...哎呀,还是举例说明吧,比如42转换为二进制,如图1所示操作。  42除以2...
  • 这是一篇关于带符号二进制数据在计算机中表示方法及加减运算的文章,是《计算机原理》这门课程有关内容的总结性笔记。01 机器数表示方式1 机器数表示方式原码补码反码2 原码表示法又称带符号的绝对值表示。- 符号位:...
  • 二进制基础

    千次阅读 2018-10-16 22:58:00
    简单的说二进制就是只有0和1表示的计数规则,逢2进1。以此可以看出我们的十进制就是使用0-9表示的技术规则,逢10进1。 二进制和十进制数的生成规则 十进制 1 2 3 4 5 6 7 8 9 二进制 0001 0010 0011 ...
  • 为了更透彻的理解二进制及在计算机内部的表示,必须要有打破沙锅问到底的决心,就算是进度再慢,基础扎实了,也许走会更远,必境也使用java很多年,各种技术和框架也使用无数,深知原理的重要性,人总是要进步的,不...
  • 学计算机的朋友刚开始学习时都要接触进制之间的转换,二进制、十进制、八进制、十六进制等,这个是很枯燥的,转来转去就转蒙圈了,别蒙别蒙,今天咱们一个一个搞定,看看二进制和十进制之间如何相互转换的。...
  • 说说二进制

    2016-08-22 17:55:56
    身为计算机从业人员,一直对于二进制不甚了解,为此感到羞愧,今天特地花点时间研究研究二进制。因为暂时没有接触过其他进制的需求,所以此篇博客只会提及二进制和十进制。 1. 十进制转二进制1.1 正整数 十进制转...
  • 二进制转换为十进制,如下: ...负数二进制转为十进制 (举例): 负数的原码: 1 0 0 0 1 1 1 0 负数的反码: 1 1 1 1 0 0 0 1 负数的补码: 1 1 1 1 0 0 1 0 计算机的底层都以补码的方式来存储数据。 ...
  • 简单的二进制

    2016-07-07 21:29:12
    基本常识点 莱布尼茨“逢二进一”、“ 借一当二”机器语言开关高低位 进制转换 正整数转二进制小数转二进制负整数转二进制二进制 八进制二进制 十六进制
  • 满意答案gjdioe048967推荐于 2017.09.25浮点数二进制表示根据国际标准IEEE 754,任意一个二进制浮点数V可以表示成下面的形式:V = ...举例来说:十进制的-5.0,写成二进制是-101.0,相当于-1.01×22 。那么,s=1,M=...
  • 二进制信息最基本的三种逻辑运算:1、逻辑加法(又称“或”)运算,通常用符号“+”或“∨”来表示;2、逻辑乘法(又称“与”)运算,通常用符号“×”或“∧”或“·”来表示;3、逻辑否定(又称“非”)运算。本教程操作...
  • 二进制的计算

    2021-03-29 12:00:25
    反码:将二进制数按位取反 补码:反码加 1 以-14 举例 原码:14 即 00000000 00000000 00000000 00001110 反码: 11111111 11111111 11111111 11110001 补码: 11111111 11111111 11111111 11110010 所以-14 ...
  • 【相关学习推荐:C语言教程视频】C语言中位运算符有:位操作是程序设计中对位模式按位或二进制数的一元和二元操作。在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。在现代架构中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,386
精华内容 4,154
关键字:

二进制取反举例