二进制_二进制转换 - CSDN
二进制 订阅
二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 [1]  。数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(Bit,Binary digit的缩写) [2]  。 展开全文
二进制(binary)在数学和数字电路中指以2为基数的记数系统,以2为基数代表系统是二进位制的。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 [1]  。数字电子电路中,逻辑门的实现直接应用了二进制,因此现代的计算机和依赖计算机的设备里都用到二进制。每个数字称为一个比特(Bit,Binary digit的缩写) [2]  。
信息
外文名
binary system
类    别
算法
中文名
二进制
属    性
计数法
二进制计数系统
在基数b的位置记数系统(其中b是一个正自然数,叫做基数),b个基本符号(或者叫数字)对应于包括0的最小b个自然数。 要产生其他的数,符号在数中的位置要被用到。最后一位的符号用它本身的值,向左一位其值乘以b。一般来讲,若b是基底,我们在b进制系统中的数表示为 的形式,并按次序写下数字a0a1a2a3...ak。这些数字是0到b-1的自然数 [3]  。一般来讲,b进制系统中的数有如下形式: 数 和 是相应数字的比重 [3]  。17世纪至18世纪的德国数学家莱布尼茨,是世界上第一个提出二进制记数法的人。用二进制记数,只用0和1两个符号,无需其他符号 [4]  。二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,逢2进1,其权的大小顺序为2²、2¹、2º、 、 。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为 [5]  : 二进制数据一般可写为: 【例】:将二进制数据111.01写成加权系数的形式。解: 二进制和十六进制,八进制一样,都以二的幂来进位的。
收起全文
精华内容
参与话题
  • 二进制

    2019-07-18 01:41:53
    二进制是计算技术中广泛采用的一种数制。 二进制数据是用0和1两个数码来表示的数。 二进制的表现形式 计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0...

    二进制是计算技术中广泛采用的一种数制。 二进制数据是用0和1两个数码来表示的数。

    二进制的表现形式

    计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。

    正数在计算机中以原码的形式存在,而负数以补码的形式存在。

    原码 反码 补码
    正数(5) 0000 0101 0000 0101 0000 0101
    负数(-5) 1000 0101 1111 1010 1111 1011
    小数(5.125) 0101.001 0101.001 0101.001
    1. 原码:符号位+数据位,正数符号位位0,负数符号位为1;

    2. 正数的原码和补码相同;负数的反码等于其原码符号位不变,其余各位取反;

    3. 正数的原码和补码相同;负数的补码等于其原码取反加一;负数的原码等于其补码符号位不变,减一取反。

    原码

    负数:-5

    原码:1000 0101

    反码

    负数:-5

    原码:1000 0101

    反码:1111 1010

    补码

    负数:-5
    原码:1000 0101(符号位+数据位)
    反码:1111 1010 (符号位不变,各位取反)
    补码:1111 1011 (反码+1)

    二进制的转换

    二进制转十进制

    正整数

    二进制:0000 0101

    十进制:1 + 0*2 + 1*2*2 = 5

    负整数

    二进制:1111 1011(负数以补码形式存在)

    十进制:

    • 二进制反码:1111 1010
    • 二进制原码:1000 0101
    • 二进制原码转十进制:- 1+0*2+1*2*2 = -5
    小数

    二进制:0101.001
    十进制:

    • 整数部分:0101 = 5
    • 小数部分:1000 = 0*1/2 + 0*1/4+ 0*1/8=0.125
    • 合并:5+0.125 = 5.125

    1553853009607.png

    十进制转二级制

    正整数

    十进制:5
    二进制:0000 0101

    负整数

    十进制:-5
    二进制:

    • -5的原码:1000 0101
    • -5的反码:1111 1010
    • -5的补码:1111 1011
    小数

    十进制:5.125
    二进制:0101.001

    1553852978806.png

    二进制的运算

    运算符号

    • 四则运算(+-*/)
    • &(按位与)
    • |(按位或)
    • ^(按位异或)
    • ~(按位取反)
    • <<(按位左移)
    • >>(有符号的按位右移)
    • >>>(无符号的按位右移)

    运算逻辑

    (1)二进制数的加法

    根据“逢二进一”规则,二进制数加法的法则为:

    0+0=0
    0+1=1+0=1
    1+1=0 (进位为1)
    1+1+1=1 (进位为1)

    例如:1110和1011相加过程如下:

    img

    (2)二进制数的减法

    根据“借一有二”的规则,二进制数减法的法则为:

    0-0=0

    1-1=0

    1-0=1

    0-1=1 (借位为1)

    例如:1101减去1011的过程如下[1]:

    img

    (3)二进制数的乘法

    二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:

    0×0=0

    0×1=1×0=0

    1×1=1

    例如:1001和1010相乘的过程如下:

    img

    由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。

    (4)二进制数的除法

    二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。

    例如:100110÷110的过程如下:

    img

    所以,100110÷110=110余10。

    说明:乘除法分原码乘法和补码乘法。

    (5)逻辑“或”运算

    又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:

    0+0=0或0∨0=0

    0+1=1或0∨1=1

    1+0=1或1∨0=1

    1+1=1或1∨1=1

    可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。

    (6)逻辑“与”运算

    又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:

    0×1=0或0·1=0或0∧1=0

    1×0=0或1·0=0或1∧0=0

    1×1=1或1·1=1或1∧1=1

    可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。

    (7)逻辑“非”运算

    又称为逻辑否定,实际上就是将原逻辑变量的状态求反,其运算规则如下:

    可见,在变量的上方加一横线表示“非”。逻辑变量为0时,“非”运算的结果为1。逻辑变量为1时,“非”运算的结果为0。

    (8)逻辑“异或”运算

    “异或”运算,常用符号“”或“”来表示,其运算规则为:

    00=0 或 00=0
    01=1 或 01=1
    10=1 或 10=1
    11=0 或 11=0

    可见:两个相“异或”的逻辑运算变量取值相同时,“异或”的结果为0。取值相异时,“异或”的结果为1

    转载于:https://www.cnblogs.com/kancy/p/10640492.html

    展开全文
  • 二进制详解

    万次阅读 2018-06-25 17:22:30
    那如何把一个十进制的数转成二进制或者其他进制,请下图:十进制转二进制十进制的123转成二进制就是1111011,转成几进制都是一个道理。一、二进制1.1 二进制是计算机采用的表示数字的方式, 每个数位上只有0和1;1.2 ...

    在计算机的世界里,只有0和1,也就是二进制。

    那如何把一个十进制的数转成二进制或者其他进制,请下图:

    十进制转二进制

    十进制的123转成二进制就是1111011,转成几进制都是一个道理。

    一、二进制

    1.1 二进制是计算机采用的表示数字的方式, 每个数位上只有0和1;

    1.2 任何整数一定可以采用二进制的方式表示, 小数的二进制这里不多说;

    1.3 字节内部采用二进制方式记录数字, 一个字节分成八段, 每个分段有一个编号, 最右边分段编号是0, 向左逐渐递增

    1.4 相邻分段之间有2倍关系, 某个分段的数字相当于2的编号次方, 如图:

    二进制转十进制:

    把每个数位单独转换后把所有的转换结果求和

    例:01001110 = 2^6 + 2^3 + 2^2 + 2^1 = 64 + 8 + 4 + 2 = 78

    十进制转二进制:

    方法一:(不适用于处理大数字)先把十进制数字拆分成多个2的整数次方之和, 然后对每个结果单独转换, 最后其他数位补0。

    59 = 32 + 16 + 8 + 2 + 1 = 2^5 + 2^4 + 2^3 + 2^1 + 2^0 = 00111011

    方法二:除2取余, 逆序余数;

    上述两种方法算出来的是二进制原码

    计算机字节里采用二进制补码记录数字

    所有非负数整数, 补码和原码一样

    二、八进制

    2.1 把二进制表示方式的所有数位从右向左每三个数位分成一组, 每组用一个0到7之间的数字代替可得到八进制表示方式

    2.2 每三个数位可以采用421方法把二进制转化成八进制

    2.3 可以在程序中使用八进制表示数字, 为了避免与十进制混淆, 需要在八进制前面加0(零)

    2.4 %o可以作为八进制数的占位符

    结果:

    152 106

    152 152

    三、十六进制

    3.1 所有数位从右向左每四个数位分成一组, 每组用一个字母替换就得到对应的十六进制表示方式, 先把每组转换成十进制, 转换结果如果在0到9之间则用阿拉伯数字字符替换, 否则用‘a’到'f'这六个英文字母替换

    3.2 每四个数位可以采用8421方法把二进制转化成十六进制

    3.2 可以在程序中使用十六进制表示数字, 但是必须以0x做开头

    3.3 %x %X 可以作为十六进制数的占位符(%x输出a-f, %X输出A-F)

    0xab 0XAB

    练习: 十进制转二进制

    四、负数的二进制

    4.1 先计算出相反非负数的二进制

    4.2 把第一步的计算结果每个数位变成相反内容, 然后再加一

    求:-5的二进制:

    5: 0000 0101

    取反: 1111 1010 + 1

    -5: 1111 1011

    4.3 上述方法算出来的是二进制补码, 可以直接记录在字节中

    4.4 有符号的二进制补码中最左边的数位叫做符号位, 符号位是0表示正, 1表示负, 且符号位不能等同与正负号

    4.5 当把一个占地大的整数类型数据赋值给占地小的整数类型存储区时只会保留部分二进制数据, 因此导致十进制表示方式发生变化。

    4.6 当把一个占地小的整数赋值给占地大的整数类型存储区时要扩充二进制数位, 在有符号位的情况下扩充出来的二进制里全是符号位的数值, 无符号数据填充0;

    ch = 44

    num = 44

    分析:300是整数占四个字节, 用二进制表示如下(ps: 只保留最右边的)

    00000000 00000000 00000001 00101100

    练习:计算下面的结果(结果在下方)

    ch = -56

    num = -56


    展开全文
  • 第1节 二进制及十进制的由来 第2节 二进制、十进制、八进制、十六进制的表示方法 第3节 二进制和十进制之间的相互转换 第4节 二进制和八进制之间的相互转换 第5节 二进制和十六进制之间的相互转换 第6节 案例:把十...
  • 进制转换:二进制、八进制、十六进制、十进制之间的转换 不同进制之间的转换在编程中经常会用到,尤其是C语言。 将二进制、八进制、十六进制转换为十进制 二进制、八进制和十六进制向十进制转换都非常容易,就是...

    进制转换:二进制、八进制、十六进制、十进制之间的转换

    不同进制之间的转换在编程中经常会用到,尤其是C语言。

    将二进制、八进制、十六进制转换为十进制

    二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。

    假设当前数字是N进制,那么:

    对于整数部分,从右往左看,第i位的位权等于Ni-1

    对于小数部分,恰好相反,要从左往右看,第j位的位权为N-j

    更加通俗的理解是,假设一个多位数(由多个数字组成的数)某位上的数字是1,那么它所表示的数值大小就是该位的位权。

    1) 整数部分

    例如,将八进制数字53627转换成十进制:

    53627 = 5×84 + 3×83 + 6×82 + 2×81 + 7×80 = 22423(十进制)

    从右往左看,第1位的位权为 80=1,第2位的位权为 81=8,第3位的位权为 82=64,第4位的位权为 83=512,第5位的位权为 84=4096 …… n位的位权就为 8n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。

    注意,这里我们需要以十进制形式来表示位权。

    再如,将十六进制数字9FA8C转换成十进制:

    9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653964(十进制)

    从右往左看,第1位的位权为160=1,第2位的位权为 161=16,第3位的位权为 162=256,第4位的位权为 163=4096,第5位的位权为 164=65536 …… n位的位权就为16n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。

    将二进制数字转换成十进制也是类似的道理:

    11010 = 1×24 + 1×23 + 0×22 + 1×21 + 0×20 = 26(十进制)

    从右往左看,第1位的位权为20=1,第2位的位权为21=2,第3位的位权为22=4,第4位的位权为23=8,第5位的位权为24=16 …… n位的位权就为2n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。

    2) 小数部分

    例如,将八进制数字423.5176转换成十进制:

    423.5176 = 4×82 + 2×81 + 3×80 + 5×8-1 + 1×8-2 + 7×8-3 + 6×8-4 = 275.65576171875(十进制)

    小数部分和整数部分相反,要从左往右看,第1位的位权为 8-1=1/8,第2位的位权为 8-2=1/64,第3位的位权为 8-3=1/512,第4位的位权为 8-4=1/4096 …… m位的位权就为 8-m

    再如,将二进制数字 1010.1101 转换成十进制:

    1010.1101 = 1×23 + 0×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4 = 10.8125(十进制)

    小数部分和整数部分相反,要从左往右看,第1位的位权为 2-1=1/2,第2位的位权为 2-2=1/4,第3位的位权为 2-3=1/8,第4位的位权为 2-4=1/16 …… m位的位权就为 2-m

    更多转换成十进制的例子:

    二进制:1001 = 1×23 + 0×22 + 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9(十进制)

    二进制:101.1001 = 1×22 + 0×21 + 1×20 + 1×2-1 + 0×2-2 + 0×2-3 + 1×2-4 = 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625(十进制)

    八进制:302 = 3×82 + 0×81 + 2×80 = 192 + 0 + 2 = 194(十进制)

    八进制:302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375(十进制)

    十六进制:EA7 = 14×162 + 10×161 + 7×160 = 3751(十进制)

    将十进制转换为二进制、八进制、十六进制

    将十进制转换为其它进制时比较复杂,整数部分和小数部分的算法不一样,下面我们分别讲解。

    1) 整数部分

    十进制整数转换为N进制整数采用“N取余,逆序排列”法。具体做法是:

    N作为除数,用十进制整数除以N,可以得到一个商和余数;

    保留余数,用商继续除以N,又得到一个新的商和余数;

    仍然保留余数,用商继续除以N,还会得到一个新的商和余数;

    ……

    如此反复进行,每次都保留余数,用商接着除以N,直到商为0时为止。

    把先得到的余数作为N进制数的低位数字,后得到的余数作为N进制数的高位数字,依次排列起来,就得到了N进制数字。

    下图演示了将十进制数字36926转换成八进制的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170915/1-1F9151J30K46.png

    从图中得知,十进制数字36926转换成八进制的结果为110076

    下图演示了将十进制数字42转换成二进制的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170915/1-1F9151K641Z0.png

    从图中得知,十进制数字42转换成二进制的结果为101010

    2) 小数部分

    十进制小数转换成N进制小数采用“N取整,顺序排列”法。具体做法是:

    N乘以十进制小数,可以得到一个积,这个积包含了整数部分和小数部分;

    将积的整数部分取出,再用N乘以余下的小数部分,又得到一个新的积;

    再将积的整数部分取出,继续用N乘以余下的小数部分;

    ……

    如此反复进行,每次都取出整数部分,用N接着乘以小数部分,直到积中的小数部分为0,或者达到所要求的精度为止。

    把取出的整数部分按顺序排列起来,先取出的整数作为N进制小数的高位数字,后取出的整数作为低位数字,这样就得到了N进制小数。

    下图演示了将十进制小数0.930908203125转换成八进制小数的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170918/1-1F91Q20520335.png

    从图中得知,十进制小数0.930908203125转换成八进制小数的结果为0.7345

    下图演示了将十进制小数0.6875 转换成二进制小数的过程:

    http://c.biancheng.net/cpp/uploads/allimg/170918/1-1F91QHI2I2.png

    从图中得知,十进制小数 0.6875 转换成二进制小数的结果为 0.1011

    如果一个数字既包含了整数部分又包含了小数部分,那么将整数部分和小数部分开,分别按照上面的方法完成转换,然后再合并在一起即可。例如:

    十进制数字 36926.930908203125 转换成八进制的结果为 110076.7345

    十进制数字 42.6875 转换成二进制的结果为 101010.1011

    下表列出了前17个十进制整数与二进制、八进制、十六进制的对应关系:

    十进制

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    二进制

    0

    1

    10

    11

    100

    101

    110

    111

    1000

    1001

    1010

    1011

    1100

    1101

    1110

    1111

    10000

    八进制

    0

    1

    2

    3

    4

    5

    6

    7

    10

    11

    12

    13

    14

    15

    16

    17

    20

    十六进制

    0

    1

    2

    3

    4

    5

    6

    7

    8

    9

    A

    B

    C

    D

    E

    F

    10

    注意,十进制小数转换成其他进制小数时,结果有可能是一个无限位的小数。请看下面的例子:

    十进制0.51对应的二进制为0.100000101000111101011100001010001111010111...,是一个循环小数;

    十进制0.72对应的二进制为0.1011100001010001111010111000010100011110...,是一个循环小数;

    十进制0.625对应的二进制为0.101,是一个有限小数。

    二进制和八进制、十六进制的转换

    其实,任何进制之间的转换都可以使用上面讲到的方法,只不过有时比较麻烦,所以一般针对不同的进制采取不同的方法。将二进制转换为八进制和十六进制时就有非常简洁的方法,反之亦然。

    1) 二进制整数和八进制整数之间的转换

    二进制整数转换为八进制整数时,每三位二进制数字转换为一位八进制数字,运算的顺序是从低位向高位依次进行,高位不足三位用零补齐。下图演示了如何将二进制整数 1110111100 转换为八进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F919102I0949.png

    从图中可以看出,二进制整数 1110111100 转换为八进制的结果为 1674

    八进制整数转换为二进制整数时,思路是相反的,每一位八进制数字转换为三位二进制数字,运算的顺序也是从低位向高位依次进行。下图演示了如何将八进制整数 2743 转换为二进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F919103A2R7.png

    从图中可以看出,八进制整数 2743 转换为二进制的结果为 10111100011

    2) 二进制整数和十六进制整数之间的转换

    二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。下图演示了如何将二进制整数 10 1101 0101 1100 转换为十六进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F919104H9539.png

    从图中可以看出,二进制整数 10 1101 0101 1100 转换为十六进制的结果为 2D5C

    十六进制整数转换为二进制整数时,思路是相反的,每一位十六进制数字转换为四位二进制数字,运算的顺序也是从低位向高位依次进行。下图演示了如何将十六进制整数 A5D6 转换为二进制:

    http://c.biancheng.net/cpp/uploads/allimg/170919/1-1F91910553H50.png

    从图中可以看出,十六进制整数 A5D6 转换为二进制的结果为 1010 0101 1101 0110

    C语言编程中,二进制、八进制、十六进制之间几乎不会涉及小数的转换,所以这里我们只讲整数的转换,大家学以致用足以。另外,八进制和十六进制之间也极少直接转换,这里我们也不再讲解了。

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

    作者:戴翔
    电子邮箱:daixiangcn@outlook.com
    简介:中华人民共和国公民,中国共青团员,CSDN博客专家,秦淮区疾控中心托管社会公益组织指南针工作室志愿者,创业公司研发中心负责人,在校大学生。


    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


    作者:戴翔
    电子邮箱:daixiangcn@outlook.com
    简介:中华人民共和国公民,中国共青团员,CSDN博客专家,秦淮区疾控中心托管社会公益组织指南针工作室志愿者,创业公司研发中心负责人,在校大学生。


    展开全文
  • 二进制 计算

    万次阅读 2019-05-08 11:54:36
    1、加法法则: 0+0=0,0+1=1+0=1,1+1=10  2、减法法则: 0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 - 1 = 1 有借位,借1当(10)2 0 - 1 - 1 = 0 有借位 1 - 1 - 1 = 1 有借位。减法,当需要向上一位借数时,必须把...
  • 二进制运算

    千次阅读 2019-03-10 16:27:06
    1.十进制转化为二进制(编译器为32进制) #include&amp;amp;lt;iostream&amp;amp;gt; using namespace std; int main() { int m,number ,s[32]; cin&amp;amp;gt;&amp;amp;gt;number; for...
  • 什么是二进制文件?

    千次阅读 多人点赞 2019-04-07 10:01:21
    自从踉跄尝试开发,不停地被提醒自己基本功的薄弱——人家随随便便抛出一句“这本来就是二进制文件(无法解码很正常)”,我却纳闷了半天到底什么是二进制文件。没办法,基础差就要好好学习。 来吧,今日关键词:...
  • 二进制如何转十进制,十进制如何转二进制

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

    万次阅读 多人点赞 2018-11-09 09:01:23
    在计算机二进制系统中,位,简记为b,也称为比特(bit),每个二进制数字0或1就是一个位(bit),其中每 8bit = 1 byte(字节);  Java 中的int数据类型占4个byte(字节),而1 byte(字节) = 8 bit(位);(说白了,在...
  • python将二进制转换为十进制

    万次阅读 2017-05-15 08:49:23
    例:将1110110转换为十进制数 解:先将其转换为字符串,再使用int函数,指定进制转换为十进制。 print(int("100111",2))
  • 转自:https://blog.csdn.net/rommen/article/details/4555344
  • 二进制、八进制、十进制、十六进制之间的转换

    万次阅读 多人点赞 2018-12-28 23:55:23
    目录  1.十进制转2进制  2.二进制转十进制  ...
  • 二进制和十进制的转换

    万次阅读 多人点赞 2018-11-15 12:17:40
    一、十进制转换成二进制 1.1 正整数转二进制 要点:除二取余,倒序排列,高位补零。 方法:将正的十进制数除以二,得到的商再除以二,依次类推直至商为0或1时为止,然后在旁边标出各步的余数,最后倒着写出来,...
  • python实现 -十进制转二进制

    万次阅读 2018-06-05 10:30:46
    # 二进制的转换 def Dec2Bin(dec): result = '' if dec: result = Dec2Bin(dec // 2) return result + str(dec % 2) else: return result print(Dec2Bin(123456))
  • 进制转换方法总结——摘自百度

    万次阅读 多人点赞 2019-11-07 09:31:21
    今天朋友去面试,面试官问他八进制转换二进制方式原理,他突然间蒙逼了,在常见的计算机知识当中,这种最基础的知识,常常会被人给忘记,所以今天我来写一篇进制转换的总结,来复习巩固一下。 本文参考百度经验...
  • 十进制转二进制 bin(18)--&gt; '0b10010' 去掉0b就是10010 即为十进制18转二进制是10010十进制转八进制oct(18) --&gt;'022' 去掉0 就是22 即为十进制18转八进制是22十进制转十六进制hex(18) --&gt;'...
  • 十进制转二进制函数实现(C语言)

    万次阅读 多人点赞 2020-05-09 22:37:00
    代码: void dectobin( int n ){ int result=0,k=1,i,temp; temp = n; while(temp){ i = temp%2; result = k * i + result; k = k*10; temp = temp/2; } printf("%d\n", result); }
  • python 十进制转二进制

    万次阅读 多人点赞 2019-06-24 16:57:37
    Python 2 python 十进制转2进制有内置函数 bin 方法1: in:bin(1) output:'0b1' ... # x = 2 # 转换为二进制,所以这里取x=2 b = [] # 存储余数 while True: # 一直循环,商为0时利用break退出循环 ...
  • C++实现十进制转为二进制

    万次阅读 2018-04-21 23:27:08
    #include&lt;iostream&gt; using namespace std; void main() { int n,i,j=0; int a[1000]; cin&gt;&gt;n; i=n; while(i) { a[j]=i%2; i/=2; j++; } for(i=j-1;...i-...
1 2 3 4 5 ... 20
收藏数 1,443,108
精华内容 577,243
关键字:

二进制