十进制转二进制 订阅
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。 展开全文
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
信息
外文名
Decimal system to binary system
应用学科
数学
中文名
十进制转二进制
适用领域范围
电子、编程、编码
十进制转二进制二进制转十进制
小数点前或者整数要从右到左用二进制的每个数去乘以2的相应次方并递增,小数点后则是从左往右乘以二的相应负次方并递减。例如:二进制数1101.01转化成十进制1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25(10)所以总结起来通用公式为:abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3(10)或者用下面这种方法:把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。2的0次方是1(任何数的0次方都是1,0的0次方无意义)2的1次方是22的2次方是42的3次方是82的4次方是162的5次方是322的6次方是642的7次方是1282的8次方是2562的9次方是5122的10次方是10242的11次方是20482的12次方是40962的13次方是81922的14次方是163842的15次方是327682的16次方是655362的17次方是1310722的18次方是2621442的19次方是5242882的20次方是1048576即: 此时,1101=8+4+0+1=13再比如:二进制数100011转成十进制数可以看作这样:数字中共有三个1 即第六位一个,第二位一个,第一位一个(从右到左),然后对应十进制数即2的0次方+2的1次方+2的5次方, 即100011=32+0+0+0+2+1=35
收起全文
精华内容
下载资源
问答
  • 十进制转二进制

    2019-08-31 00:00:56
    一)进制简介 十进制是人与人之间一种通用计算方式。 二进制是计算机中一种通用计算...整数位转换原理:十进制转二进制采用“除2取余,逆序排列”法。 例如:把十进制11转二进制步骤如下: 第一步:11除以2=5 余...

    一)进制简介

    十进制是人与人之间一种通用计算方式。

    二进制是计算机中一种通用计算方式。

    为了方便两者之间计算,所以需要进行进制转换。

    由于十进制存在整数小数的情况,在转二进制时,一般是先计算整数部分,再计算小数部分,再加以合并

     

    二)十进制转二进制

    整数位转换原理:十进制转二进制采用“除2取余,逆序排列”法。

    例如:把十进制11转二进制步骤如下:

    第一步:11除以2=5 余1

    第二步:5除以2=2   余1

    第三步:2除以2=1   余0

    第四步:1除以2=0   余1

    结论:把余数逆序排列,11的二进制为1011

    图解:

     

    小数位转换原理:十进制转二进制采用"乘2取整,顺序排列"法。

    例如:把十进制11.25转二进制步骤如下:

    先计算整数部分,11的二进制为1011

    再计算小数部分0.25

    第一步:0.25 * 2 = 0.5,取整数位0,结果为0.0

    第二步:0.5 * 2 = 1.0,取整数位1,结果为0.01

    第三步: 当小数位为0时,就停止计算。

    结论:整数二进制加小数二进制,结果为:1011 + 0.01 = 1011.01

    备注:此处用小数0.25计算有点取巧,因为小数最后一个尾数如不是5,计算的时候不可能出现小数部分为0的结果,导致只能一直计算到最大要求的位数停止计算。简单说:只是小数位不为0,就可能一直计算下去。

     

    三)二进制转十进制

    整数位转换原理:二进制转十进制采用“乘2次方”法。

    例如:把二进制1011转十进制步骤如下:

    从右到左依次乘以2的次方,次方从0开始,依次累加(2的0次方、2的1次方、2的2次方、2的3次方)。

    1011 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 0 + 2 + 1 = 11

    结论:1011的十进制为11

     

    小数位转换原理:二进制转十进制采用“乘2负次方”法。

    例如:把二进制1011.01转十进制步骤如下:

    先计算整数部分,1011的十进制为11

    再计算小数部分0.01,依次为乘2的0次方,乘2的-1次方,除2的-2次方。

    0.01 = (0 * 2^0) + (0 * 2^-1) + (1 / 2^-2) = 0 + 0 + 0.25 = 0.25

    结论:1011.01的十进制为:11+ 0.25 = 11.25

    备注:进制的换算只能自己多算算,常用的十进制和二进制转换几乎都是在2到100之间,可以自己全部换算一遍​。

     

    四)2的次方表

    2的0次方是1(任何数的0次方都是1,0的0次方无意义)

    2的1次方是2

    2的2次方是4

    2的3次方是8

    2的4次方是16

    2的5次方是32

    2的6次方是64

    2的7次方是128

    2的8次方是256

    2的9次方是512

    2的10次方是1024

     

    五)进制转换表(2到100)

    十进制 二进制
    2 10
    3 11
    4 100
    5 101
    6 110
    7 111
    8 1000
    9 1001
    10 1010
    11 1011
    12 1100
    13 1101
    14 1110
    15 1111
    16 10000
    17 10001
    18 10010
    19 10011
    20 10100
    21 10101
    22 10110
    23 10111
    24 11000
    25 11001
    26 11010
    27 11011
    28 11100
    29 11101
    30 11110
    31 11111
    32 100000
    33 100001
    34 100010
    35 100011
    36 100100
    37 100101
    38 100110
    39 100111
    40 101000
    41 101001
    42 101010
    43 101011
    44 101100
    45 101101
    46 101110
    47 101111
    48 110000
    49 110001
    50 110010
    51 110011
    52 110100
    53 110101
    54 110110
    55 110111
    56 111000
    57 111001
    58 111010
    59 111011
    60 111100
    61 111101
    62 111110
    63 111111
    64 1000000
    65 1000001
    66 1000010
    67 1000011
    68 1000100
    69 1000101
    70 1000110
    71 1000111
    72 1001000
    73 1001001
    74 1001010
    75 1001011
    76 1001100
    77 1001101
    78 1001110
    79 1001111
    80 1010000
    81 1010001
    82 1010010
    83 1010011
    84 1010100
    85 1010101
    86 1010110
    87 1010111
    88 1011000
    89 1011001
    90 1011010
    91 1011011
    92 1011100
    93 1011101
    94 1011110
    95 1011111
    96 1100000
    97 1100001
    98 1100010
    99 1100011
    100 1100100

     

    识别二维码关注个人微信公众号

    本章完结,待续,欢迎转载!
     
    本文说明:该文章属于原创,如需转载,请标明文章转载来源!

    展开全文
  • 进制转换进制转换十进制转二进制 及 二进制转十进制二进制转八进制 及 八进制转十进制二进制转十六进制 及 十六进制转十进制 进制转换 进制转换是人们利用符号来计数的方法。今天主要说一下十进制、二进制、八进制...

    进制转换

    进制转换是人们利用符号来计数的方法。进制也是我们在数数的时候的一种习惯,我们每个人都有十个手指,我们习惯上使用的数数是十进制。但对于计算机来说,我们必须使用二进制,那是因为组成计算机的元件,一般只有两种状态 0 1。
    二进制对于我们程序员来说阅读不是很方便,也不方便书写,所以有了八进制和十六进制。今天主要说一下十进制、二进制、八进制、十六进制之间的相互转换。

    十进制转二进制 及 二进制转十进制

    十进制转二进制采用“除二取余”法。除二取余,倒序排列。
    将一个十进制数除以2,得到的商再除以2,以此类推,直到商等于1或0时为止。
    

    52除以2,为26,无余数,记0。26除以2,为13,无余数,记0。13除以2,6余1,记1(有余数的均记1)。依次除以2,最终得到的0与1倒序排列记为110100。这就是十进制的52转化为二进制的结果。
    52除以2,为26,无余数,记0。26除以2,为13,无余数,记0。13除以2,6余1,记1.
    验证是否转换正确的方法(转化为10进制):
    110100 = 0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 + 0乘以2的3次方 + 1乘以2的4次方 +1*乘以2的5次方 = 0 + 0 + 4 + 0 + 16 + 32 = 52

    二进制转八进制 及 八进制转十进制

    规律: 自右往左每三位一组,不足三位的用0补齐,将每一组数单独转成十进制,
    这个数就是八进制数。
    

    此处以52的二进制为例:110100

    110 100:
    0乘以2的0次方 + 1乘以2的1次方 + 1乘以2的2次方 = 6
    0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 = 4
    最终结果为64

    验证是否转换正确的方法(转化为十进制):
    64 = 4乘以8的0次方 + 6乘以8的1次方 = 4 + 48 = 52

    二进制转十六进制 及 十六进制转十进制

    规律: 自右往左每四位一组,不足四位的用0补齐,将每一组数单独转成十进制。
    (0-9 a b c d e f)
    

    此处依旧以52的二进制为例:

    0011 0100:

    1乘以2的0次方 + 1乘以2的1次方 + 0乘以2的2次方 + 0乘以2的3次方 = 1 + 2 = 3
    0乘以2的0次方 + 0乘以2的1次方 + 1乘以2的2次方 + 0乘以2的3次方 = 4
    最后结果为34

    验证是否转换正确的方法(转化为十进制):
    34 = 4乘以16的0次方 + 3乘以16的1次方 = 4 + 48 = 52

    十进制转八进制 及 十进制转十六进制

    十进制转八进制,可以使用除八取余法。
    十进制转十六进制,可以使用除十六取余法。

    展开全文
  • 十进制转换二进制

    万次阅读 2017-06-21 15:14:39
    习题10-7 十进制转换二进制 (15分) 本题要求实现一个函数,将正整数n转换为二进制后输出。 函数接口定义: void dectobin( int n ); 函数dectobin应在一行中打印出二进制的n。建议用递归实现。 裁判测试程序...

    习题10-7 十进制转换二进制   (15分)

    本题要求实现一个函数,将正整数n转换为二进制后输出。

    函数接口定义:

    void dectobin( int n );
    

    函数dectobin应在一行中打印出二进制的n。建议用递归实现。

    裁判测试程序样例:

    #include <stdio.h>
    
    void dectobin( int n );
    
    int main()
    {
        int n;
    
        scanf("%d", &n);
        dectobin(n);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    

    输入样例:

    10
    

    输出样例:

    1010

    #include <stdio.h>
    
    void dectobin( int n );
    
    int main()
    {
        int n;
    
        scanf("%d", &n);
        dectobin(n);
    
        return 0;
    }
    
    
    void dectobin( int n ){
    	int result=0,k=1,i,tmp;
    
    	tmp = n;
    	while(tmp){
    		i = tmp%2;
    		result = k * i + result;
    		k = k*10;
    		tmp = tmp/2;
    	}
    
    	printf("%d\n", result);
    }





    展开全文
  • python十进制转二进制python中十进制转二进制使用 bin() 函数。bin() 返回一个整数 int 或者长整数 long int 的二进制表示。下面是使用示例:>>>bin(10)'0b1010'>>> bin(20)'0b10100'补充:十进制...

    python十进制转二进制

    python中十进制转二进制使用 bin() 函数。

    bin() 返回一个整数 int 或者长整数 long int 的二进制表示。

    下面是使用示例:

    >>>bin(10)

    '0b1010'

    >>> bin(20)

    '0b10100'

    补充:十进制转8进制和16进制的方法:

    # -*- coding: UTF-8 -*-

    # 获取用户输入十进制数

    dec = int(input("输入数字:"))

    print("转换为八进制为:", oct(dec))

    print("转换为十六进制为:", hex(dec))

    内容扩展:

    #-*- coding: utf-8

    from decimal import Decimal

    def bTod(n, pre=4):

    '''

    把一个带小数的二进制数n转换成十进制

    小数点后面保留pre位小数

    '''

    string_number1 = str(n) #number1 表示二进制数,number2表示十进制数

    decimal = 0 #小数部分化成二进制后的值

    flag = False

    for i in string_number1: #判断是否含小数部分

    if i == '.':

    flag = True

    break

    if flag: #若二进制数含有小数部分

    string_integer, string_decimal = string_number1.split('.') #分离整数部分和小数部分

    for i in range(len(string_decimal)):

    decimal += 2**(-i-1)*int(string_decimal[i]) #小数部分化成二进制

    number2 = int(str(int(string_integer, 2))) + decimal

    return round(number2, pre)

    else: #若二进制数只有整数部分

    return int(string_number1, 2)#若只有整数部分 直接一行代码二进制转十进制 python还是骚

    def dTob(n, pre=4):

    '''

    把一个带小数的十进制数n转换成二进制

    小数点后面保留pre位小数

    '''

    string_number1 = str(n) #number1 表示十进制数,number2表示二进制数

    flag = False

    for i in string_number1: #判断是否含小数部分

    if i == '.':

    flag = True

    break

    if flag:

    string_integer, string_decimal = string_number1.split('.') #分离整数部分和小数部分

    integer = int(string_integer)

    decimal = Decimal(str(n)) - integer

    l1 = [0,1]

    l2 = []

    decimal_convert = ""

    while True:

    if integer == 0: break

    x,y = divmod(integer, 2) #x为商,y为余数

    l2.append(y)

    integer = x

    string_integer = ''.join([str(j) for j in l2[::-1]]) #整数部分转换成二进制

    i = 0

    while decimal != 0 and i < pre:

    result = int(decimal * 2)

    decimal = decimal * 2 - result

    decimal_convert = decimal_convert + str(result)

    i = i + 1

    string_number2 = string_integer + '.' + decimal_convert

    return float(string_number2)

    else: #若十进制只有整数部分

    l1 = [0,1]

    l2 = []

    while True:

    if n == 0: break

    x,y = divmod(n, 2) #x为商,y为余数

    l2.append(y)

    n = x

    string_number = ''.join([str(j) for j in l2[::-1]])

    return int(string_number)

    以上就是本次介绍的全部相关知识点,感谢大家的学习和对聚米学院的支持。

    展开全文
  • 十进制转二进制 十进制整数转二进制 十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到不能整除,然后再...
  • java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制) 这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁 想起了java中实现栈的操作十分方便(不用...
  • 我们在学习python时候肯定会碰到关于进制转换,其实这是... bin(二进制)dec(十进制)—> oct(八进制)dec(十进制)—> hex(十六进制)二、十进制我们所熟知的十进制,其实是从 0 开始,数到 9 之后,就跳到 10,...
  • 利用 toString() 方法 十进制转二进制 示例: var num = 10; console.log( num.toString(“2”) ) 转2进制输出: “1010” console.log( num.toString(“8”) ) 转8进制输出: “12” console.log( num.toString...
  • //十进制转二进制 func fuc(person:Int) { let a = String(person,radix:2) print(a) } fuc(person: 3) //二进制转十进制 func binary2dec(num:String) { var sum = 0 for c in num { sum = sum * 2 + Int(“©”)! ...
  • 十进制转二进制  假设我们要把十进制97转化成二进制!第一步把97除于2 得到48.8,无法整除,然后后面记录1! 无法整除的去到小数位,依次除于2,能整除的记录0,不能整除的记录1 最终的二进制结果为1100001 ...
  • 进制的转换 十进制转换为二进制 例如,5·····101,10·····1010 int s[10000]={0}; while(n>0) { s[i]=n%2; n=n/2; //把每一位存在数组当中 i++; } int sum=0; ...
  • 数学方法进制转换之十进制转二进制若想要实现十进制转其他进制,只需要将%8,/8替换为相应的数,例如十进制转十六进制,则改为%16,/16。#include #include using namespace std; stack<int> Conversions(int num){ ...
  • 例3:用C++实现十进制转二进制或者十进制转十六进制  【分析】数字的值由两部分组成:数字和位权值。二进制就是位权值为2的幂函数,十六进制就是位权值为16的幂函数。  我们将十六进制进行转换的时候,可以利用...
  • ----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------ 【进制转换】 23十进制  0-9逢10进1  023 八进制 ...二进制 逢2进1 10101010 二进制基本单位是位【字节是由8
  • 十进制转二进制:设 num1 为123,通过 type( ) 可以看到类型为 int使用 bin( ) 函数将 num1 转换为二进制,返回值存入 bin_num1但 num1 本身没有改变,返回的 bin_num1 是二进制表示,但 bin_num1类型是 str2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,461
精华内容 8,584
关键字:

十进制转二进制