精华内容
下载资源
问答
  • 计算机二进制

    千次阅读 2019-02-25 11:25:26
    计算机二进制背景1背景2 背景1 计算机底层是二进制数进行计算和存储,因此底层只有0和1 计算机底层在计算的时候,只做一件事:相加,并且是二进制数的相加,也就是满0进1 背景2 二进制:由0和1构成的数 如:3的...

    背景

    1. 计算机底层是二进制数进行计算和存储,因此底层只有0和1
    2. 计算机底层在计算的时候,只做一件事:相加,并且是二进制数的相加,也就是满2进1

    二进制

    由0和1构成的数

    如:3的二进制为11,100的二进制为110 0100

    机器数

    计算机中的数是二进制的,这个二进制数为机器数。机器数是带符号的,
    在计算机中用一个数的最高位存放符号, 正数为0, 负数为1

    以单字节8位为例(1byte=8bit):

    +3的机器数为0000 0011
    -3的机器数为1000 0011
    +100的机器数为0110 0100
    -100的机器数为1110 0100

    真值

    因为机器数的第一位是符号位,所以机器数的形式值就不等于真正的数值(对于负数)

    如上面的数字:

    +3的机器数为0000 0011,真值为3
    -3的机器数为1000 0011,真值为-3,而不是131
    +100的机器数为0110 0100,真值为100
    -100的机器数为1110 0100,真值为-100,而不是228

    原码

    原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。
    比如如果是8位二进制:

    +3的原码为0000 0011
    -3的原码为1000 0011

    第一位是符号位。所以8位二进制数的取值范围就是:

    1111 1111 ~ 0111 1111
    即:-127 ~ 127

    原码应该就是机器数

    反码

    反码的表示方法是:
    正数的反码是其本身。
    负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

    [+3] = [0000 0011]原 = [0000 0011]反
    [ -3] = [1000 0011]原 = [1111 1100]反

    补码

    补码的表示方法是:
    正数的补码就是其本身。
    负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(即在反码的基础上+1)

    [+3] = [0000 0011]原 = [0000 0011]反 = [0000 0011]补
    [ -3] = [1000 0011]原 = [1111 1100] 反 = [1111 1101]补

    为什么要用到反码和补码

    1. 计算机底层的运行,其实只是加法运算
    2. 加、减、乘、除,其实最后都可以转成加法(通过正负数)
    3. 在二进制中不写±,而是在二进制数字的首位表示正负号,在进行运算时,正负号位其实也参与了运算

    但是,如果用原码和反码进行加法运算时,结果是有问题的,如下:

    一、使用原码运算:

    计算十进制的表达式: 3-3=0

    3-3
    = 3+(-3)
    = [0000 0011]原 + [1000 0011]原
    = [1000 0110]原
    = -6

    可见,在正负号参与计算的同时,其结果是不正确的!

    二、使用反码运算:

    计算十进制的表达式: 3-3=0

    3-3
    = 3+(-3)
    = [0000 0011]原 + [1000 0011]原
    = [0000 0011]反 + [1111 1100] 反
    = [1111 1111] 反
    = [1000 0000]原
    = -0

    可见,真值部分虽然正确,但是出现了0和-0的情况,对应的二进制是[00000000]和[10000000],那这个结果其实还是不完全正确的!

    三、使用补码运算:

    计算十进制的表达式: 3-3=0

    3-3
    = 3+(-3)
    = [0000 0011]原 + [1000 0011]原
    = [0000 0011]反 + [1111 1100] 反
    = [0000 0011]补 + [1111 1101] 补
    = [0000 0000]补
    = [0000 0000]原
    = 0

    计算十进制的表达式: 3-4=-1

    3-4
    = 3+(-4)
    = [0000 0011]原 + [1000 0100]原
    = [0000 0011]反 + [1111 1011] 反
    = [0000 0011]补 + [1111 1100] 补
    = [1111 1111] 补
    = [1111 1110] 反
    = [1000 0001]原
    = -1

    可见,这样0用[0000 0000]表示, 而以前出现问题的-0则不存在了。
    而且可以用[1000 0000]表示-128:

    (-1) + (-127)
    = [1000 0001]原 + [1111 1111]原
    = [1111 1110] 反 + [1000 0000]反
    = [1111 1111] 补 + [1000 0001]补
    = [1000 0000]补

    总结

    -1-127的结果应该是-128, 在用补码运算的结果中, [1000 0000]补 就是-128. 但是注意因为实际上是使用以前的-0的补码来表示-128, 所以-128并没有原码和反码表示.(对-128的补码表示[1000 0000]补算出来的原码是[0000 0000]原, 这是不正确的)。

    使用补码, 不仅仅修复了0的符号以及存在两个编码的问题, 而且还能够多表示一个最低数. 这就是为什么8位二进制, 使用原码或反码表示的范围为[-127, +127], 而使用补码表示的范围为[-128, 127].

    因为机器使用补码, 所以对于编程中常用到的32位int类型, 可以表示范围是: [-231, 231-1] 因为第一位表示的是符号位.而使用补码表示时又可以多保存一个最小值.

    原码, 反码, 补码 再深入

    计算机巧妙地把符号位参与运算, 并且将减法变成了加法, 背后蕴含了怎样的数学原理呢?

    将钟表想象成是一个1位的12进制数. 如果当前时间是6点, 我希望将时间设置成4点, 需要怎么做呢?我们可以:

    1.往回拨2个小时: 6 - 2 = 4
    2.往前拨10个小时: (6 + 10) mod 12 = 4
    3.往前拨10+12=22个小时: (6+22) mod 12 =4

    2,3方法中的mod是指取模操作, 16 mod 12 =4 即用16除以12后的余数是4.

    所以钟表往回拨(减法)的结果可以用往前拨(加法)替代!

    现在的焦点就落在了如何用一个正数, 来替代一个负数. 上面的例子我们能感觉出来一些端倪, 发现一些规律. 但是数学是严谨的. 不能靠感觉.

    首先介绍一个数学中相关的概念: 同余

    两个整数a,b,若它们除以整数m所得的余数相等,则称a,b对于模m同余

    记作 a ≡ b (mod m)

    读作 a 与 b 关于模 m 同余。

    举例说明:

    4 mod 12 = 4
    16 mod 12 = 4
    28 mod 12 = 4

    所以4, 16, 28关于模 12 同余

    转自这里

    展开全文
  • 十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 ...

    1.十进制转R进制

    1.1 十进制转二进制

    十进制整数转二进制

    十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。

    例题: 135D = ______ B

    **解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 0111B.
    这里写图片描述

    图1.十进制整数转二进制

    十进制小数转二进制

    十进制小数转换成二进制小数采用 “乘2取整,顺序排列” 法。

    具体做法是:

    用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

    然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    例题: 0.68D = ______ B(精确到小数点后5位)

    **解析:**如下图所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.

    在这里插入图片描述

    图2.十进制小数转二进制

    1.2 十进制转八进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 10.68D = ______ Q(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

    这里写图片描述

    图3.十进制转八进制

    1.3 十进制转十六进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 25.68D = ______ H(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.

    这里写图片描述

    图4.十进制转十六进制
    # 2.R进制转十进制 ## 2.1 二进制转十进制 **方法为:**把二进制数按权展开、相加即得十进制数。(具体用法如下图)

    例题: 1001 0110B = ______ D

    **解析:**如下图所示。得到结果:150D.

    这里写图片描述

    图5.二进制转十进制

    2.2 八进制转十进制

    八进制转十进制的方法和二进制转十进制一样。

    例题: 26Q = ______ D

    **解析:**如下图所示。得到结果:22D.

    这里写图片描述

    图6.八进制转十进制

    2.3 十六进制转十进制

    例题: 23daH = ______ D

    **解析:**如下图所示。得到结果:9178D.

    这里写图片描述

    图7.十六进制转十进制

    3.二进制转八进制

    二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。

    例题: 1010 0100B = ____Q

    **解析:**计算过程如下图所示。得到结果:244Q.

    这里写图片描述

    图8.二进制转八进制

    4.二进制转十六进制

    二进制转换成八进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。

    例题: 1010 0100B = ____H

    **解析:**计算过程如下图所示。得到结果:a4H.

    这里写图片描述

    图9.二进制转十六进制

    5.工欲善其事,必先利其器

    下面的表格是8位二进制所对应的十进制数值,对进制转换以及类似题目的理解非常有用:

    1 1 1 1 1 1 1 1 B
    128 64 32 16 8 4 2 1 D

    注:B:二进制
           D:十进制


    例题: 135D = ______ B

    **解析:**有了上面二进制对应十进制数值的表格,我们就可以将题目给的十进制135拆分为:128+7,再从表格中找到对应的数值,拼凑即可得到答案。
    135D = 128D + 7D = 1000 0111B

    展开全文
  • 计算机二进制储存

    千次阅读 2018-10-09 01:26:37
    计算机二进制储存 我们都知道,计算机储存数据最终都是转换成二进制数字进行储存,而计算机进行简单的运算时,也是通过二进制下的数字进行计算的,下面我们就探究一下计算机在二进制储存下的计算方式。 首先我们在...

    计算机二进制储存

    我们都知道,计算机储存数据最终都是转换成二进制数字进行储存,而计算机进行简单的运算时,也是通过二进制下的数字进行计算的,下面我们就探究一下计算机在二进制储存下的计算方式。

    首先我们在数学中学习过对一个十进制数字进行除二取余法之后倒序排列获得这个十进制数的二进制数。以(11)_{10}为例:

    11除以2等于5,余数为1;5除以2等于2,余数为1;2除以2等于1,余数为0;1除以2等于0,余数为1。最后我们得到了1101,倒序排列就是1011,这就是二进制数的11,即(11)_{10}=(1011)_2

    在计算机中,一个整数通常存放在一个整数型变量中,对于java而言,其整数型变量类型有byte, short, int, long四种;对于c++而言,其整型有unsigned int, int, long int(这里声明一点,c++语言中有short, int, long int, long long, long long int等等整型的数据类型,但是这些类型有微妙的关系。这和c语言当时的定义有关,c语言定义整型数据的空间占用根据操作系统的位数,具体大家可以参考其他博客资料或者书籍资料。而c语言标准也有这么一句话:长整型至少和整型一样长,整型至少和短整型一样长。也就是说int可以和short一样长,long可以和int一样长。这里我只列出三个类型,分别占用4Bytes, 4Bytes, 8Bytes)。

    计算机储存变量的时候,通常把最左边一位当做符号位,即0表示正数,1表示负数。比如4Bytes的int类型变量储存了十进制的11,那么在内存中它的存在形式是00000000 00000000 00000000 00001011,那么如果它储存的是十进制的-11,那么它的存在形式是10000000 00000000 00000000 00001011,这个数就叫二进制原码。

    但是当我们以二进制原码进行计算的时候,就会有出乎意料的问题发生,我把二进制下的11和-11相加(我按照1Byte长度的数字进行演示,这样省略了中间很多的0,看起来很方便),就是00001011 + 10001011 = 10010110 = (-22)_{10},这不正确!!!我们期望的结果是0,但是真正的计算结果是-22,发生了什么?!

    这就要引出我们对于反码的概念,我们看到了对二进制原码进行计算会发生出乎预料的结果。所以数学家们很聪明,他们设计了一种二进制编码叫做反码。其规范是这个样子,对于一个正数,其二进制反码和原码相同;对于一个负数,其二进制反码即其二进制原码除了符号位各位取反后的结果。拿13和-15举例:(注明一下,因为我的原稿用的是原,反,补三个字做下标的。但是CSDN的公式不能使用中文作为下标,因此我就取这三个字的拼音首字母作为下标,请各位注意)(13)_{10}=(00001101)_y=(00001101)_f(-15)_{10}=(10001111)_y=(11110000)_f。那么13 + (-15) = (00001101)_f + (11110000)_f = (11111101)_f = (10000010)_y = (-2)_{10}。那么我们再拿15 + (-13)举例:15 + (-13) = (00001111)_f + (11110010)_f = (1\ 00000001)_f这里发生了进位,怎么办?别担心,二进制反码的计算准则是若存在进位,则把进位放到末尾位加上,简单来说就是把多出来的1加给后面的00000001,结果就是(00000010)_f=(+2)_{10}。是不是超级神奇?

    但是即便是反码运算,也会存在 (00000000)_f(11111111)_f这两个东西,你可以把它转化成原码看。妈耶!这两个一个是+0一个是-0,而它俩竟然不是一个东西。我学过的数学0就是0,不存在-0这种东西耶?

    所以这就引出了下一个东西,它叫做补码。补码的定义和反码很像,对于一个正数,它的二进制补码是它的二进制原码;对于一个负数,它的二进制补码是它的二进制反码再加上1。

    还是拿-11举例子:(-11)_{10}=(10001011)_y=(11110100)_f=(11110101)_b。接下来还是拿15+(-13)和13+(-15)进行举例:13 + (-15) = (00001101)_b + (11110001)_b = (11111110)_b = (11111101)_f = (10000010)_y = (-2)_{10}15 + (-13) = (00001111)_b + (11110011)_b = (1\ 00000010)_b。这里要注意了,补码的计算和反码不一样,如果多出了1,那么直接当做越界处理,简单来说就是直接扔掉,保留之后的就好。也就是说,这里的(1\ 00000010)_b = (00000010)_b = (00000010)_y = (+2)_{10}。这样一来补码的计算问题也就解决了,那么接下来就是所谓的+0和-0的问题了,对于(-0)_{10} = (10000000)_y = (11111111)_f = (1\ 00000000)_b,我们不难发现,补码的-0直接越界了,按照我们之前的处理,1被扔掉了,那么又剩下00000000即+0了。我们统一了+0和-0!这很完美!

    但是我们还是发现了有一个二进制补码无法被计算到,它就是(10000000)_b。你可以尝试把它转换成二进制原码,你会发现,根本无法转换!这时候我们把(10000000)_b人为定义成(-128)_{10}。为什么这么定义?你可以对它计算一下,你发现,当你计算(-128)+1时,它的结果奇迹般的是(-127)(这个过程我就不写了)。而你计算(-128)+(-1)的时候,它竟然成为了+127!这个过程是这样的:(-128)+(-1)=(10000000)_b+(11111111)_b=(1\ 01111111)_b=(01111111)_b=(+127)_{10}。这就牵扯到储存机制。1byte的数字可以储存从-128~127的数字,这个范围是-2^7~2^7-1。占用4bytes的int整型则可以储存从-2147483648~2147483647也就是-2^{31}~2^{31}-1。上面的7和31就是储存数据的位数。二进制补码就决定了当我们的数字越界的时候,最小的数字继续小下去,就会从最大的那个再小一个轮回;同样最大的数字继续大下去,就会从最小的那个再大一个轮回。

    以上就是计算机二进制数据储存的原理。

    展开全文
  • 十进制与二进制的转换2.1对应关系2.2举例一:二进制1011转换十进制2.3举例二:二进制10111转换十进制2.3举例三:十进制45转换成二进制2.4举例四:十进制小数0.25转换成二进制3.八进制与二进制3.1对应关系3.2举例一:...

    1.进制特点

    (B)二进制:两个数字,逢二进一
    (O)八进制:八个数字,逢八进一
    (D)十进制:十个数字,逢十进一
    (H)十六进制:十六个数字,逢十六进一

    2.十进制与二进制的转换

    2.1对应关系

    在这里插入图片描述

    2.2举例一:二进制1011转换十进制

    结果为13 (第三排应该是1101,手打快了有点错误)
    在这里插入图片描述
    当然我们可以直接用8421来计算,方便快速,但是第二行理解了更好,比如我们遇见一下这种情况,8421就不是那么好用了。

    2.3举例二:二进制10111转换十进制

    在数字转换比较多的时候,我们尽可能把下面表格的第二行写出来。
    结果为27
    在这里插入图片描述

    2.3举例三:十进制45转换成二进制

    方法:除2取余,逆序排列
    在这里插入图片描述
    逆序排列就是从下往上看
    则结果为101101

    2.4举例四:十进制小数0.25转换成二进制

    方法:“0.”后乘二取整
    0.25 x2 = 0. 5 个位为0
    0.5 x 2 = 1 个位为1
    从上到下为01,所以十进制小数0.25转换为二进制位0.01

    3.八进制与二进制

    3.1对应关系

    在这里插入图片描述

    3.2举例一:八进制56转换为二进制

    这个可以看上面对应关系表
    结果为101110
    在这里插入图片描述

    3.3举例二:二进制100111010 转换为八进制

    这个跟着对应关系就可以知道la
    结果为472
    在这里插入图片描述

    4.八进制与十进制

    4.1对应关系+举例一:八进制111转换为十进制

    示例:

    在这里插入图片描述
    将八进制3574转换为十进制
    在这里插入图片描述

    4.2举例二:十进制64转换为八进制

    除8取余,余数由下往上读,因此十进制64转换为八进制的转换结果为100
    在这里插入图片描述

    5.十六进制与十进制

    注:类似于八进制转换为十进制

    5.1对应关系+举例一:十六进制3333转换为十进制

    在这里插入图片描述

    5.2举例二:十进制64转换为十六进制

    除16取余,余数由下往上读,因此十进制64转换为十六进制的转换结果为40
    在这里插入图片描述

    6.十六进制与二进制

    6.1对应关系

    在这里插入图片描述

    6.2举例一:十六进制378转换为二进制

    ,根据上图对应关系,我们可以由下表得出十六进制378转换为二进制的结果为1101111000
    在这里插入图片描述

    6.2举例二:二进制11100101000转换为十六进制

    取四合一,以四个数为主,每四个就是一个16进制数。
    注:当前面0不够的时候就添0,如下

    在这里插入图片描述

    以上就是我们常用的进制转换,希望可以帮到你,我的可能不足,如果有错误欢迎指出,谢谢!

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
    欢迎关注微信公众号:宝藏女孩的成长日记
    如有转载,请注明出处(如不注明,盗者必究)

    展开全文
  • 计算机二进制与十进制是如何互相转换的?一、二进制是什么?二、十进制是什么?三、二进制与十进制是如何转换的?1.电脑储存数据的四大类八小种数据类型有哪些(拿java语言做举例)2.这八小种分别在电脑中占的空间大小...
  • 二进制与十进制 二进制转十进制 当符号位为0时为正数 二进制:00101101 转换过程:2^5 + 2^3 + 2^2 +2^0 十进制:45 当符号位为1时为负数 补码:11010011 ↓补码-1 反码:11010010 ↓除符号位外,其余部分取反 原码...
  • 关于计算机世界的二进制 首先,问一个基本的问题。 负数在计算机中如何表示? 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就...
  • 计算机二进制编码

    2019-07-02 12:05:34
    首先呢原码就是二进制编码的一种,它除了用二进制表示数字以外,它选择一位作为符号位,1是负数,0是正数,反码补码也都是这样。反码就是在原码的基础上,符号位不变,其余各位相反,如0变1,1变0.补码就是在反码的...
  • 计算机二进制和单位

    2019-10-18 09:29:07
    计算机描述数据使用二进制,用0和1表示;常用进制有,二进制、八进制、十进制、十六进制; 计算机中表示信息最小的单位是 ‘位’,用来表示一个二进制(0或1)信息,用bit表示; 计算机处理信息的最小单位是 ...
  • 二进制: 只能被机器所识别. 人不能识别. 八进制: 由3位二进制. 组成一个八进制. 十六进制. 由4位二进制,组成一个十六进制. 十进制: 人能够识别的进制. 如果进行5+6,那么实际上,需要将十进制的5转换成二进制的5,再...
  • 计算机二进制计算过程

    千次阅读 2020-12-08 17:51:27
    比如如果是8位二进制: [+1]原 = 0000 0001 [-1]原 = 1000 0001 第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是: [1111 1111 , 0111 1111]==>[-127 , 127] 反码 反码的表示方法是
  • 计算机二进制计算】

    千次阅读 2019-08-12 10:29:31
    1.二进制里面的负数 负数以正数的补码表示 原码:一个整数按照绝对值的大小转化成二进制的数 反码:将二进制数按位取反 补码:反码加1 以-10 举例 原码:10 即 00000000 00000000 00000000 00001010 反码: 11111111...
  • 什么是计算机二进制

    千次阅读 2017-01-20 14:16:35
    很多专业人士从第一次学计算机,就开始接触二进制,发现书上说的基本都是术语,不是“人话”,马上晕倒。二进制是什么?什么“逢二进一”,这都不重要,狗屎。只要是人发明的东西,用人话就能讲清楚。咱们就用人话,...
  • 计算机二进制单位

    千次阅读 2018-12-05 17:01:36
    1 byte (B) = 8 bits 1 word (W) = 4 bytes = 32 bits 1 kilobyte (KB) = 1,024 bytes (10^3) 1 megabyte (MB) = 1,024 kilobytes (10^6) 1 gigabyte (GB) = 1,024 megabytes (10^9) 1 terabyte (TB) = 1,024 gigaby...
  • 计算机二进制算法

    千次阅读 2015-05-23 20:43:11
    二进制:总共八位,由0、1组成,第一位代表符号位,0代表整数,1代表负数,计算方法逢二进一。   补码:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理.另外,两个用补码表示的数相加时,如果...
  • float与计算机二进制之间的转换方法

    千次阅读 2013-08-06 11:44:17
    float与计算机二进制之间的转换方法 http://blog.sina.com.cn/s/blog_61c9bb670100fbwh.html    浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。 一个浮点数由2部分组成...
  • 计算机二进制以及原码、反码、补码入门详解 转载自以下网址:http://www.365mini.com/page/binary-and-src-complement-etc.htm
  • 举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号...
  • 原码 = 其二进制编码 原码 = 反码 = 补码 负数有: 原码 = 其绝对值二进制编码(即:对应正数的原码),最高位置1 反码 = 原码符号位不变,其他位取反 补码 = 反码+1 举例: 一个四字节的int类型的数字 9 原码:...
  • 二进制表示 5+4 原码{ 5:0,101 4:0,100 0,101 +0,100 ———— 1,001 } {}括号里的仅仅是原码表示的5+4 5的原码是 0,101 最高位的0是符号位代表+号 4的原码是 0,100 最高位的0也是+号 二者相加,结果是:1...
  • 所以欲把计算机存储的二进制转换为相应的十进制数值的一般步骤是:1)先看这个数是有符号数还是无符号数,若是无符号/正数,则直接转化为十进制;2)若为负数,则存储的是补码,最高位不变,-1得到其反码,然后最高...
  • 【转】关于计算机二进制补码

    千次阅读 2011-05-19 09:30:00
    举例来说,+8在计算机中表示为二进制的1000,那么-8怎么表示呢? 很容易想到,可以将一个二进制位(bit)专门规定为符号位,它等于0时就表示正数,等于1时就表示负数。比如,在8位机中,规定每个字节的最高位为符号...
  • 写信的同时,他赠送了一颗自己制造的银币给公爵,这颗银币的出现,真正预示着二进制的诞生。 银币的正面当然是公爵帅气威风的肖像,这是为了获得“科研经费”必须做出的妥协。 反面是一则创世故事:水面上笼罩着...
  • 1.或 | 是换算成二进制数两个数的同一位中有相同的数就为0; 2.异或^是指二进制数中若两位都是0则为0,都则都是1(包括一个0一个1,和全为1的情况). 下面给个例子,如: 13 的二进制为1101 7 的二进制为 111 ...
  • 前言:学习计算机的同学,在底层硬件计算过程中会遇到原码、反码、补码。很多关于计算机的书籍都介绍原码、反码、补码的表示方法,及相互转换关系,但是同一个值为什么要用到原码、反码、补码却没详细说明。为什么要...
  •  首先介绍 二进制转换十进制二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:101100100,转换为10进制为:356用横式计算(从右往左算)0×20+0×21+1×22+0×23+0×24+1×25+1×26...
  • 计算机中全是用二进制表示,他只包括0和1 两个数,逢二进一,1+1=10,每一个0或者1,都叫做一个bit(比特,位) 十进制转换为二进制:采用除以2取余数的方式,直到商为0 二进制转换为十进制:采取16 8421编码方式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,091
精华内容 14,036
关键字:

计算机二进制