精华内容
下载资源
问答
  • int(str,n=10) def bin2dec(string_num): return str(int(string_num, 2)) # hex2dec # 十六进制 to 十进制 def hex2dec(string_num): return str(int(string_num.upper(), 16)) # dec2bin # 十进制 to 二进制: bin...

    #!/usr/bin/env python

    # -*- coding: utf-8 -*-

    # 2/10/16 base trans. wrote by srcdog on 20th, April, 2009

    # ld elements in base 2, 10, 16.

    import os,sys

    # global definition

    # base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F]

    base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]

    # bin2dec

    # 二进制 to 十进制: int(str,n=10)

    def bin2dec(string_num):

    return str(int(string_num, 2))

    # hex2dec

    # 十六进制 to 十进制

    def hex2dec(string_num):

    return str(int(string_num.upper(), 16))

    # dec2bin

    # 十进制 to 二进制: bin()

    def dec2bin(string_num):

    num = int(string_num)

    mid = []

    while True:

    if num == 0: break

    num,rem = divmod(num, 2)

    mid.append(base[rem])

    return ''.join([str(x) for x in mid[::-1]])

    # dec2hex

    # 十进制 to 八进制: oct()

    # 十进制 to 十六进制: hex()

    def dec2hex(string_num):

    num = int(string_num)

    mid = []

    while True:

    if num == 0: break

    num,rem = divmod(num, 16)

    mid.append(base[rem])

    return ''.join([str(x) for x in mid[::-1]])

    # hex2tobin

    # 十六进制 to 二进制: bin(int(str,16))

    def hex2bin(string_num):

    return dec2bin(hex2dec(string_num.upper()))

    # bin2hex

    # 二进制 to 十六进制: hex(int(str,2))

    def bin2hex(string_num):

    return dec2hex(bin2dec(string_num))

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:php中文网

    展开全文
  • BIN二进制 OCT八进制 DEC十进制 HEX十六进制 以BIN为桥梁的方法最好计算将DEC,OCT,HEX统统转化成BIN,在通过相应方法转变为其他进制数。 二进制转八进制将3位转为1位 二进制转十六进制 注:十六进制数码:0、1、2...

    BIN二进制
    OCT八进制
    DEC十进制
    HEX十六进制

    以BIN为桥梁的方法最好计算将DEC,OCT,HEX统统转化成BIN,在通过相应方法转变为其他进制数。

    imgimg

    二进制转八进制将3位转为1位

    imgimg

    二进制转十六进制

    注:十六进制数码:0、1、2、3、4、5、6、7、8、9

    ​ A、B、C、D、E、F即10、11、12、13、14、15

    4位转1位

    imgimg

    imgimg

    展开全文
  • 不同进制之间相互转换

    千次阅读 2019-01-06 15:57:38
    不同进制转换都可以通过转换为10进制再由10进制转为其他进制的方法来实现,首先我们先看看不同的进制转为10进制如何操作 举一个16进制转为10进制的例子,首先有数1F3E1F3E1F3E,将他转为10进制我们可以先把1F3E1F3...

    不同进制的转换都可以通过转换为10进制再由10进制转为其他进制的方法来实现,首先我们先看看不同的进制转为10进制如何操作
    举一个16进制转为10进制的例子,首先有数1F3E1F3E,将他转为10进制我们可以先把1F3E1F3E分解来看1F3E=1163+F162+316+E1F3E=1\cdot 16^{3}+F\cdot 16^{2}+3\cdot 16+E
    也就是说11乘以161633次,FF乘以161622次,33乘以161611次,EE乘以161600次。
    根据乘法的分配律,上述式子我们可以化为(((116+F)16+3)16+E)(((1\cdot16+F)\cdot16+3)\cdot16+E)
    所以可以在该数的长度的复杂下完成进制转换

        char a[]="1F3E";
        int len=strlen(a);
        int sum=0;
        for(int i=0;i<len;i++)
        {
            sum=sum*16;
            if(a[i]<='9'&&a[i]>='0')
            sum+=a[i]-'0';
            else
            sum+=a[i]-'A'+10;
        }
    

    那么10进制如何转化为其他进制下的数呢
    同样的我们拿一个数举例子如:79987998
    我们用的是余数法,对于一个10进制数我们对其不断的做除法,每次所留下的余数就是就是要转化的数的低位
    7998/16=499.......14E7998/16=499.......14\rightarrow E
    499/16=31.......3499/16=31.......3
    31/16=1.......15F31/16=1.......15\rightarrow F
    1/16=0.......11/16=0.......1
    所以从下往上看我们就可以得到我们要的16进制数1F3F1F3F
    已知一个10进制数我们可以用栈来存我们每次的到的余数,最后再一次弹栈就是10进制要转化为其他的进制数了

        stack<int> s;
        int num=7998;
        while(num)
        {
            s.push(num%16);
            num/=16;
        }
        while(!s.empty())
        {
            if(s.top()<10)
                printf("%d",s.top());
            else
                printf("%c",s.top()-10+'A');
            s.pop();
        }
    

    不同进制的转换都可以用10进制为媒介然后先转换为10进制再从10进制转为其他进制

    展开全文
  • 进制之间如何转换

    千次阅读 多人点赞 2019-11-22 23:33:51
    本文关键字:二进制、十进制进制转换、八进制、十六进制。大家最开始接触的数字和计算方法都是基于十进制的,那么进制的意思也就是一种计数方法。根据相应的进制规则进行进位,相同的一串数字在不同进制下也会...

    写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。

    • 对于文章中出现的任何错误请大家批评指出,一定及时修改。
    • 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
    • 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。

    进制之间如何转换?

    本文关键字:二进制、十进制、进制转换、八进制、十六进制

    一、进制

    大家最开始接触的数字和计算方法都是基于十进制的,那么进制的意思也就是一种计数方法。根据相应的进制规则进行进位,相同的一串数字在不同的进制下也会对应不同的大小,所以在程序中都会对数字的进制有明确的标识。

    1. 十进制

    十进制就是满10进1,那么每一位上的数字范围也就只能是0~9,也是默认使用的进制。

    2. 二进制

    二进制就是满2进1,那么每一位上的数字范围也就只能是0或1,Java中使用0b开头。

    3. 八进制

    八进制就是满8进1,那么每一位上的数字范围也就只能是0~7,Java中使用0开头。

    4. 十六进制

    十六进制就是满16进1,对于大于10的数字从字母A开始进行代表,即A代表10,B代表11,F代表15,那么每一位上的数字范围也就只能是0~F,Java中使用0x开头。

    二、十进制与二进制的转换

    在最开始接触编程时总要学习一下和二进制的转换,因为这是计算机在工作时使用的进制,很多位运算的操作也是在二进制下进行的,所以我们必须要掌握与二进制相关的进制转换。

    1. 二进制转换为十进制

    将一个其他进制数转换为十进制数的过程其实就是根据相应的进制来进行换算。在转换之前我们先来看一下我们最熟悉不过的十进制,比如:1367。看到这个数字我们都会毫不犹豫的说出:一千三百六十七,这是我们习以为常的事情,但是具体的过程是什么呢?

    • 1367 = 7 × 1 + 6 × 10 + 3 × 100 + 1 × 1000
    • 1367 = 7 × 10^0 + 6 × 10^1 + 3 × 10^2 + 1 × 10^3

    从上面的步骤可以看出,其实一个数字的解读其实是从右向左进行的,只不过由于我们对于十进制太过了解所以忽略了这个步骤,那么用这个数字感受一下:1237173927,我猜你一定是在从右往左,从个位开始数,到底是多少吧?
    那么其他进制的运算规则也是如此,现在我们就来读几个二进制数。

    • 101:1 × 2^0 + 0 × 2^1 + 1 × 2^2 = 5
    • 10010:0 × 2^0 + 1 × 2^1 + 0 × 2^2 + 0 × 2^3 + 1 × 2^4 = 18
    • 1010101:1 × 2^0 + 0 × 2^1 + 1 × 2^2 + 0 × 2^3 + 1 × 2^4 + 0 × 2^5 + 1 × 2^6 = 85

    恭喜,我们的进制转换已经完成了。方法就是从右至左,将乘得的结果进行相加。同时,我们注意到,只要末位是0,那么这个数一定可以被2整除,其他进制也有这个规律(就像个位为零的数一定可以被10整除)。

    2. 十进制转换为二进制

    • 常规方法:

    将一个十进制数转换为一个二进制数的过程其实就是一个不断算除法和记录余数的过程,既然是转换为二进制,那么我们的除数就是2,具体过程如下:
    10进制数:37 -> 二进制结果:100101
    在这里插入图片描述

    • 小数字快速转换法:

    对于不是很大的数字其实有一种比较快的转换办法,但是前提是我们要对2的次方的运算结果比较熟悉,基本上记忆到2的10次方为1024就足够用了。方法就是我们将一个十进制数直接拆解为几个2的n次方加和的形式,从最大的数开始。
    比如对于37,最大的二进制数是32,接下来是4,然后是1,那么等式就是:37 = 32 + 4 + 1。

    • 32是2的5次方
    • 4是2的平方
    • 1是2的零次方

    所以对应的二进制数的第6个位置,第3个位置,第1个位置上的数字为1(需要错开一位),其他为0。用这种方法也能够快速的知道最高位为1的位置,可以很流畅的按照从左至右的顺序直接将二进制写出来,但是对于大的数字就不太适用了。

    在这里插入图片描述

    展开全文
  • 因此,如何将字节从8位值转换为16位Java Unicode字符将不仅在操作系统之间发生变化,而且甚至可以在同一台机器上使用不同代码页的不同用户之间变化。此构造函数只适用于解码您自己的文本文件之一。不要尝试将任意字节...
  • 如何快速实现进制数之间的转换,代码可以解决。 代码内容: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <...
  • 经常遇到不同进制之间的转换,下面办法主要是讨论2到36之间进制转换问题。其实进制转换办法就是辗转相除,比如:如果我想把15进制转换成17进制。 首先是将15进制转换成10进制,然后再将10进制的值转换成17进制,...
  • 进制转换

    2020-05-23 12:47:19
    前一段时间,有一个朋友老是问我进制的问题,问不同进制之间是如何转换的,今天我就说一下吧。
  • int型可以输出为十进制,也可以转换为16进制输出,那么该如何写呢?int型数据的范围是多少呢?unsigned int型呢? 十六进制输出只需要**%x**就可以了,只要这个数没有超过他自己定义的范围,都可以输出, unsigned ...
  • 1.请问c#中如何将十进制数的字符串转化成十六进制数的字符串//十进制转二进制Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));//十进制转八进制Console.WriteLine("十进制166的八进制表示: ...
  • 那常用的进制之间是如何转换的呢?今天我们就来学习一下十进制转换二进制的方法。 十进制的数我们可以看成由两部分组成。一个是整数部分,一个是小数部分。也就是说一个带小数的十进制数,我们整数与小数要分别使用...
  • 进制转换

    2020-05-11 15:10:28
    对两个不同进制,应该如何进行相互转换? 对一个P进制的数,如果要转换为Q进制,需要分为两步: ① 将P进制数x转换为十进制数y 对一个十进制的数y = d1d2·····dn,它可以写成这个形式:   y = d1* 10n-1+d2*...
  • 经常遇到不同进制之间的转换,下面办法主要是讨论2到36之间进制转换问题。其实进制转换办法就是辗转相除,比如:如果我想把15进制转换成17进制。 首先是将15进制转换成10进制,然后再将10进制的值转换成17进制,...
  • 最近加Python群的时候看到一个验证——群号用负7进制如何表示,我看了一愣,忽然想起来进制确实也可以是负的只不过我们的工作学习中很少涉及,故此写了个程序计算负进制数的转换,值得一提的是python语法的设计上与...
  • 关于进制与不同进制间转化问题

    多人点赞 2020-12-11 09:31:49
    关于进制与不同进制间转化问题C++代码如何实现递归方法循环方法为神魔会有不同进制进制的产生一定是为了更好的表达或记录。不同进制的表示方法及转换运算十进制转二进制使用短除法:二进制转十进制位权展开法:二进制...
  • 进制转换原理:假如我们从键盘输入一个二进制数1101,先看人工是如何转换成十进制的?我们只需要将二进制不同位上的数乘上它相应的权值即可,也就是1*2^0+0*2^1+1*2^2+1*2^3=13。也就是最后被输入的数字权值最低。...
  • 不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。下面的代码演示了如何把键盘输入的3进制数字转换为十进制。试完善之。  BufferedReader br = new BufferedReader(newInputStreamReader(System.in)); ...
  • 不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。 下面的代码演示了如何把键盘输入的3进制数字转换为十进制。试完善之。 */ import java.io.BufferedReader; import java.io.InputStreamReader; ...
  • 计算机语言中经常使用到进制之间的转换,本文介绍使用不同编程语言来如何实现十进制与二进制相互之间的转换不同编程语言中进制转换原理是一样的。 十进制转换进制原理:采用除2取余,逆序排列输出。 实现:用2...
  • mssql数据库中,有image 数据类型的字段存储了两种二进制流,如何转换,二进制流入下图 第一种:dephi 程序写入 0x398C9DF158554938A65287CEE0C6DA7E093C0300789C9CBA7B3C537F1C3F7E66985B2EA15CE616E5F22919AA...
  • 如何表示不同进制的数值 ''' n10 = 123 #十进制 n2 = 0b101011101 #二进制 n8 = 0o12472 #八进制 n16 = 0xF12 #十六进制 print(n10) print(n2) print(n8) print(n16,'\n') ''' 进制之间的转换 ''' #二进制、八...
  • 使用程序来实现十进制转换不同进制,那么关键在于如何将每次的余数保存并正确输出。要知道余数最后是按照倒序输出的,所以这个是一个问题点。(进制转换方法计算在我的上一篇文章中) #include <stdio.h&...
  • 算法笔记—进制转换

    2018-10-04 10:08:03
    对两个不同进制, 应该如何进行相互转换? 对于一个P进制的数, 如果要转换为 Q 进制, 需要分为两步: ①将 P 进制数x转换为十进制数y。 对于一个十进制的数Y = d1d2 … dn ,它可以写成这个形式: 同样的, ...
  • 进制之间的转换

    2015-11-22 13:24:44
    前面两节对二进制、八进制和十六进制进行了说明,接下来讲一下不同进制之间的数字是如何转换的,这在编程中有时会用到。 首先,二进制、八进制和十六进制向十进制转换都是非常容易的,就是“按权相加”。 所谓...
  • 不同进制的表现形式

    千次阅读 2017-07-01 10:22:58
    前言对于一个整型数据类型,我们已经习惯他的十进制表达方式,即直接写对应的数学表达就行,但是某些时候我们可能要用到其他的进制来表达,比如二进制,八进制和十六机制,如何告知程序我这里是其他进制而不是十进制...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 433
精华内容 173
关键字:

不同进制如何转换