精华内容
下载资源
问答
  • 计算机源码和补码

    2017-05-17 14:50:32
    基于32位计算机,正数的补码等于源码,0表示正数的最高位,1表示负数的最高位。 0000 0001的补码 = 0000 0001; 1000 0001的补码 = 1111 1110;(最高位不变,按为取反);2。反码 0000 0001的反码 = 0000 0001;...

    1。基于32位计算机,正数的补码等于源码,0表示正数的最高位,1表示负数的最高位。
    0000 0001的补码 = 0000 0001;
    1000 0001的补码 = 1111 1110;(最高位不变,按为取反);

    2。反码
    0000 0001的反码 = 0000 0001;
    1000 0001的反码 = 1111 1111;反码基础上加1

    展开全文
  • 1、计算机中存储的补码,输出的是源码。 解释: int max = 0x7fff ffff; //+2147483647 printf("%d",max);//输出的是+2147483647,因为正数的补码就是他本身 int min = 0x8000 0000; //-2147483648 printf("%d...

    1、计算机中存储的补码,输出的是源码。

    解释:

    int max = 0x7fff ffff;   //+2147483647

    printf("%d",max);//输出的是+2147483647,因为正数的补码就是他本身

    int min = 0x8000 0000;  //-2147483648

    printf("%d",min);//输出的是-2147483648,即输出的是源码

    printf("%x",min);//输出的是8000 0000,即输出的是补码

    也就是说,写成的是十六进制数的情况,写的其实是补码,也就是说,同一个十六进制数,要看数据类型,不同的数据类型,输出的十进制数是不同的。

    所以,写常量写16进制数,写成啥样,就是啥样,但转换成十进制数则就需要看数据类型了。即:常量写成十六进制,所见即所得

    正数的补码与源码一样。

    3、负数的补码是符号位不变,源码取反加1。

    4、符号位是0表示正数,符号位是1表示负数//记忆方法,我们平常的十进制数字,正数前面的+都会被省略,而负数前面的-不能省略;同样,对于8位的字符型,0000 0001,就如同正数前面的加号可以省略一样,前面的0都可以省略,即可以写成1,默认就是正数1;1000 0001,开始位的1表示这是-1,不能省略。

    5、负数的源码与补码的关系:可以理解为负数的源码和补码互补。互补可以理解为二者之和为最大数(如4+6=10;3+7=10)

    如:000 0001+111 1111 =1000 0000 //符号位不管

    又如:000 0000 + 1 0000 0000 =1 0000 0000

    规律:负数的的补码是源码取反+1;补码的补码是源码;源码与补码互为补码。

    char a; //是有符号的占1个字节的8位字符型。

    范围是 -256~255

    1个字节有符号位补码:

    源码 补码
    0111 1111 0111 1111
    0111 1110 0111 1110
    0111 1101 0111 1101
    ... ...
    0000 0000 0000 0000
    1000 0000 1(1)000 0000
    1000 0001 1111 1111
    ... ...
    1111 1111 1000 0001

    分析:

    为什么是-128~127,而不是-127~127.

    答:由上表可知,0分正0(0000 0000)和负0(1000 0000),我们知道,+0和-0是一个数,所以,保留正0。再看多出来的负0,我们看负0(1000 0000)的补码,按照源码与补码互补的原则,源码与补码之和是1000 0000(128),所以,负0 的补码是-128

     

    展开全文
  • 计算机的数据都是以补码的形式来存在的,计算机只能进行加法不能经行减法运行,通过补码来变相实现减法 正数的补码是本身 负数的补码是,最高位(符号位)不变,原码取反,再加一 char a = 2; 的存在方式是 源码...

    计算机的数据都是以补码的形式来存在的,计算机只能进行加法不能经行减法运行,通过补码来变相实现减法

    1. 正数的补码是本身
    2. 负数的补码是,最高位(符号位)不变,原码取反,再加一
    char a = 2; 的存在方式是 (原码)00000 0010B  --> (补码)0000 0010B 
    char a = -3; 的的存在反射光是 (原码)1000 0011B --> (反码)1111 1100B --> (补码)1111 1101B
    
    2-3 就是 2 +-3= 0000 0010B + 1111 1101B = 1111 1111B  
    转换为源码 :(补码)1111 1111B-> (反码)1111 1110B -> (原码)1000 0001B  十进制就是-1
    

    计算机虽然以补码的方式存储数据,但是会转化成原码再显示出来

    展开全文
  • 8位表示一个数字,范围是0~127,那么负数怎么办,这时候有人提出把第一位当做符号位,那么范围从11111111 - 01111111 是 -128 ~127,那么11111111明明是-127为什么书上却说是-128呢,这里需要知道反码补码的概念,...

    我们用byte类型 8位表示一个数字,范围是0~127,那么负数怎么办,这时候有人提出把第一位当做符号位,那么范围从11111111 - 01111111 是 -128 ~ 127,那么11111111明明是-127为什么书上却说是-128呢,这里需要知道反码补码的概念,计算机内存存的都是补码 先记住:

    正数   原码,反码,补码是它本身

    负数 反码是除了符号位都取反,补码是反码+1

     

    从推导上看 -126原码是11111110 反码是10000001 补码是10000010,

                       -127原码是11111111 反码是10000000 补码是10000001,

                       其实就是 -128,                                              10000000

    其实就是-0 +0和-0其实都是0,这个算法好深奥,把-0当做了-128

     

    那么问题来了,浮点数怎么表示呢,我最近学java,举个例子,十进制的1.1用二进制怎么表示呢,0.1可以表示成1/16+32/16+.....无限接近,但是这个数字不精确,因为0.1是1/10,但是2的任何次方都不可能等于10,所以浮点数有误差

     

    浮点数在内存是怎么表示的呢,这个小数点用0或者用1都不太对,那么就用到科学计数法,±1.1010111*2^11010101 是这样表示的  

     

       32位单精度float 第一位是标志位,最后是23个字符位,中间的是2头上的次方数,而且最后的字符位小数点前面的1可以省略,只存小数点后面的数,那么有的小伙伴就问了,为什么小数点前面不能是0呢,这里稍微反应一下就好了,必不可能是0,如果是0就需要再往后挪一位。

    所以32位浮点数最大值是1.11111111111111111111111*2^127

     

    unicode所有的都是两字节 ,大概能存65535个  

    utf-8中 英文一字节,一些字符两字节,中文三字节

    char类型默认使用unicode编码 是两个字节

     

     

     

     

    展开全文
  • 这是因为数据有正数反数,如果计算机用原码相加减,那么如果都是正数,没有问题,如果计算中出现了负数呢,也就是说,源码补码反码的就是为了简化减法出现的,将减号化为负数后,再讲负数化为补码,进行加法运算,...
  • 1、源码补码、反码  首先必须明确,计算机存储数据的形式都是以补码存在的。  正数的源码补码,反码都是其本身 负数的源码是其对应正数的源码将符号位改为1,反码是将源码按位取反(符号位不变),补码是其...
  • 源码 反码 补码

    2014-10-08 11:45:13
    在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如...
  • 源码补码原理详解

    2020-07-21 22:17:57
    我们都知道在计算机中有原码和补码这两个概念。其目的是为了解决在计算机二进制运算中负数的问题,即减法问题。在计算机中,我们使用补码来描述负数。但许多人都不明白为什么这样做,大家都只知道正数的补码是它的...
  • 源码 反码 补码详解

    万次阅读 多人点赞 2016-12-20 23:05:04
    在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. ...
  • 源码、反码、补码都是针对二进制数而言的 以一个字节(8bit)举例: **源码:**字节的最高位是符号位,符号位为0表示这个数是正数...**补码:**对于正数来说,反码也和源码相等;负数的补码是它对应的反码+1。例如+2的
  • 源码-补码-反码

    2020-03-17 17:21:39
    一道简单的面试题,发现自己的bug ...答案:-53 解释 前提: 一个字节有8位,首位为符号位,1为负数,0为正数。如10000001 = -1(十进制),00000001 = 1(十进制) 正数补码 = 原码 负数补码在计算的时候...
  • 正数负数的源码反码补码

    万次阅读 2017-10-23 18:33:00
    正数的源码最高位是0,正数的反码原码相同,正数的补码和原码相同 原码(负数) -7 符号位 数值位 1 0000111 反码1 1111000 (负数的反码与原码符号位相同,数值为取反) 补码1 1111001 (负数的补码是在...
  • 总结:正数 :源码,反码,补码都是本身  负数: 反码为符号位不变,其余取反,补码为反码+1        先看下如下代码:   public static void main(String[] args) { int data=2202; ...
  • 负数原码反码的相互转化  负数原码转化为反码:符号位不变,数值位按位取反。  如: 原码 1100 0010 反码 1011 1101  负数反码转化为原码:符号位不变,数值位按位取反。 反码 1011 1101 原码 ...
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家...
  • 源码补码,反码

    2018-11-21 18:01:11
    机器数真值 机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制...
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家...
  • 源码、反码和补码

    2019-09-24 02:10:52
    要想学习原码, 反码和补码,首先需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如...
  • 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家...
  • 1 负数的二进制 ...正数的原码、反码和补码都是一样的,比如int值5的的原码、反码和补码都是: 00000000 00000000 00000000 00000101 所以5在计算机中的表示也是00000000 00000000 00000000 000...
  • 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,...
  • 源码、反码和补码

    2018-03-15 21:27:04
    原码、反码、补码如何计算补码?规则:正数:原码 = 反码 = 补码负数:反码 = 符号位不变,其他位取反 补码 = 反码+11 的原码:0000 0000 0000 00011 的补码:0000 0000 0000 00011 的反码:0000 0000 0000 0001-1的...
  • 最近花了点时间对计算机的原码,反码和补码进行了研究,对为什么要有反码和补码以及他们这么设计的原因有了一定的理解 机器数 一个数在计算机中的表现形式叫做机器数,这个数有正负之分,在计算机中用一个数的最高...
  • 箭头朝哪边就是朝哪边移动补码,反码,和源码负数原码转化为补码:符号位不变,数值位按位取反,末尾加一。负数补码转化为原码:符号位不变,数值位按位取反,末尾加1。负数反码转化为补码:末尾加1。在Java中~符号...
  • 源码,反码和补码

    2017-09-30 09:53:00
    http://blog.163.com/yurong_1987@126/blog/static/47517863200911314245752/ http://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html 转载于:https://www.cnblogs.com/aqu415/p/7613...
  • 三码合一 原码 反码 补码 是一样的 就是该正整数的二进制表示方式 例如: 118(10) = 0111 0110(2) 源码:0111 0110 反码:0111 0110 补码:0111 0110 负整数: -118 原码: 该负数对应正整数的原码 但最高位是 1 ...
  • 源码补码反码

    2018-10-08 10:03:00
    要想理解原码, 反码和补码的概念, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. ...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 362
精华内容 144
关键字:

源码和补码