精华内容
下载资源
问答
  • 二进制转十六进制 二进制转八进制 八进制、十六进制和十进制之间转换可通过二进制作为中介。 十进制小数转二进制小数 乘不尽小数进制转换 0.8、0.6、0.2... ...一些数字在进制之间转化过程中确实存在...

    不同进制数值对比表


    二进制转十进制


    十进制转二进制


    二进制转十六进制


    二进制转八进制


    八进制、十六进制和十进制之间的转换可通过二进制作为中介。

    十进制小数转二进制小数


    乘不尽的小数进制转换

    0.8、0.6、0.2... ...一些数字在进制之间的转化过程中确实存在麻烦。

    就比如0.8的十六进制,无论怎么乘以16,它的余数总也乘不尽,总是余0.8

    取每一个结果的整数部分为12既十六进制的C

    如果题中要求精确到小数点后3位那结果就是0.CCC

    如果题中要求精确到小数点后4位那结果就是0.CCCC

     

    负数的进制转换

    先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。


    十进制数转换为负R进制的公式:


    初学者最容易犯的错误


    展开全文
  • 今天在研究生复试面试的过程中被问到小数的二进制和十六进制形式怎么表示,然而这个知识点已经记不得了,只能尴尬的和老师说这个知识点没有掌握好,回去会继续学习。不过最后的成绩还不错,复试第三,回去查了下小数...

    简述

    今天在研究生复试面试的过程中被问到小数的二进制和十六进制形式怎么表示,然而这个知识点已经记不得了,只能尴尬的和老师说这个知识点没有掌握好,回去会继续学习。不过最后的成绩还不错,复试第三,回去查了下小数的二进制和十六进制的表示方法,在这里做一个记录。

    十进制小数转N进制小数,方法为小数部分乘N取整,每次乘以相应基数之后取结果的整数部分即可。需要注意的是并非所有的十进制小数都能完全转化为N进制小数,这时就需要取近似值。下面详细说下十进制小数转为二进制小数和十六进制小数的方法。

     


    小数用二进制表示

    首先,给出一个任意实数,整数部分用普通的二进制便可以表示,这里只说小数部分如何表示

    这里以0.6为例:

    文字描述该过程如下:将该数字乘以2,取出整数部分作为二进制表示的第1位;然后再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位;以此类推,直到小数部分为0。 
    特殊情况: 小数部分出现循环,无法停止,则用有限的二进制位无法准确表示一个小数,这也是在编程语言中表示小数会出现误差的原因

    下面我们具体计算一下0.6的小数表示过程

    0.6 * 2 = 1.2 —————— 1 
    0.2 * 2 = 0.4 —————— 0 
    0.4 * 2 = 0.8 —————— 0 
    0.8 * 2 = 1.6 —————— 1 
    0.6 * 2 = 1.2 —————— 1 
    ......

    我们可以发现在该计算中已经出现了循环,0.6用二进制表示为 1001 1001 1001 1001 …… 

    如果是10.6,那么10.6的完整二进制表示为 1010.100110011001……

     


    小数用十六进制表示

    同样,整数部分用普通的十六进制表示就可以,这里只说小数部分如何表示

    这里以0.9为例:

    文字描述该过程如下:将该数字乘以16,取出整数部分作为十六进制表示的第1位;然后再将小数部分乘以16,将得到的整数部分作为十六进制表示的第2位;以此类推,直到小数部分为0。 

    具体计算一下0.9小数表示过程

    0.9 * 16 = 14.4 —————— E
    0.4 * 16 = 6.4  —————— 6
    0.4 * 16 = 6.4  —————— 6
    ...... 

    该计算中已经出现了循环,0.9用十六进制表示为 0XE6666.....

    如果是10.9,那么10.9的十六进制为0XA.E6666.....

     


    二进制表示的小数转换为十进制

    其实这个问题很简单,我们再拿0.6的二进制表示举例:1001 1001 1001 1001 

    文字描述:从左到右,v[i] * 2^( - i ), i 为从左到右的index,v[i]为该位的值,直接看例子:

    0.6 = 1 * 2^-1 + 0 * 2^-2 + 0 * 2^-3 + 1 * 2^-4 + ……

     

    展开全文
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...

    Python 实现进制转换

    一、导言

    导语:

    在计算机进行数据交换时,常常会有一个进制转换的过程,我们知道计算机只认0 和 1.在内存系统中,基本基于二进制进行运算的,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?

    我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10之后,于是就重0 开始继续数,所以逢十进一就这么来了。

    对于其它进制呢,也是同样的,比如最常见的二进制,也就是逢二进一,慢慢来,依次类推,所以数学的世界是多么的奇妙呀!

    今天给大家带来的是使用 Python 实现进制转换,内容包括如下:

    dec(十进制)—> bin(二进制)

    dec(十进制)—> oct(八进制)

    dec(十进制)—> hex(十六进制)

    二、各种进制介绍

    在转换之前,我们先了解以下各种进制

    十进制(Decimal)

    我们所熟知的十进制,其实是从 0 开始,数到 9 之后,就跳到 10,这样就变成了 10,数数大家总会把

    二进制(Binary)

    二进制同理,从 0 开始也就是 00(前面的一个0可以省去,但是为了更好的描述,所以保留),到 01,也变成了 10【对应十进制中的 3】,然后是 11【对应十进制中的 4】,100【十进制中的5】。。。以此类推

    因为 二进制 的英文单词是 binary,所以在计算机运算的过程中,使用二进制会用如下方法,0b11(4),0b1101(13)等等

    八进制(Octal)

    理解了二进制,在理解八进制就很容易了,八进制是逢八进一,范围是 0~7,对比一下二进制,就很好理解啦!!

    十六进制(Hexadecimal)

    十六进制就可能会相对复杂一点点,十六进制是用数字 0~9 和 英文字母 A - F(大小写随意) 表示,因此 A代表 10, F代表 15。为什么在计算机领域中,十六进制用途会如此广泛呢?

    给大家看一个对比:

    b4725463a9b140499e21598a9c46e545

    当数据比较大的时候,二进制显然不再那么使用,再看使用十六进制,就简短很多。

    十六进制的运用领域可不止如此,比如原画师调色的时候,如果使用 RGB 三原色的话,那就会有 256 x 256 x 256 种组合,我们就可以使用十六进制,把每一种颜色对比转换成 十六进制字符,就会方便很多,以下是我之前调色的时候写的一个很简单一个 C 语言小程序,呃,似乎有点跑题了,哈哈,不管了

    #include

    #include

    int main()

    {

    printf("rgb三原色转16进制\n");

    int a,b,c,d;

    while(d != 2){

    printf("输入1继续,输入2退出\n");

    scanf("%d",&d);

    scanf("%d%d%d",&a,&b,&c);

    printf("[%x %x %x]\n",a,b,c); //%x 可以直接把我们输入的十进制转换为 十六进制

    }

    return 0;

    }

    三、使用 Python 代码完成转换

    3.1 十进制转换为二进制

    我记得不太清楚是啥时候第一次学进制转换的,进制转换常用的方法就是对 2 取余数,然后得到余数反转连在一起就是 我们所需要的二进制,举个例子,比如我要计算 十进制数 13 的 二进制是多少?

    ab68d14a713143d7b64aa4930820b539

    这也是老师教我们的方法,也是我们第一次接触进制转换的时候,用目标数 num 对 2求 余数,直到 商为 0 的时候,结束,然后将余数反向组合输出,及为我们所求的 2 进制数。有的同学会问,我怎么就能这么确定这就是 13 对应的 2 进制数呢?

    答曰:

    由于二进制的特殊性,数字从右边往左边数,依次对应 20 x 1 + 21 x 0 + 22x 1 + 23 x 1 = 1 +4 +8 = 13, 给大家一个速记口诀,1,2,4,8,16,32,64,128,256,512,1024。分别是 20~ 210对应的值

    所以有了思路,我们就可以愉快的敲代码了

    # 十进制整数转二进制

    def dec_to_bin(num): #函数名做到见其名知其意

    l = [] # 创建一个空列表

    if num<0: # 是负数转换成整数

    return "-"+ dec_to_bin(abs()) # 如过是负数,先转换成正数

    while True:

    num, reminder = divmod(num,2) # 短除法,对2求,分别得到除数 和 余数、这是 Python 的特有的一个内置方法,分别可以到商 及 余数

    l.append(str(reminder)) # 把获得的余数 存入字符串

    if num == 0: # 对应了前面的话,当商为 0时,就结束啦

    return "".join(l[::-1]) # 对列表中的字符串进行逆序拼接,得到一个二进制字符串

    3.2 十进制转八进制

    理解了二进制的转换,八进制一样不难。同样是目标数 num对八 求商,留余数,照这个思路走。检验的时候,一样,把 2n把2 替换成 8即可。

    看代码:

    和 二进制 的基本没啥却别

    # 十进制转八进制

    def dec_to_oct(num):

    l = []

    if num<0:

    return "-"+ dec_to_bin(abs(num)) # 如过是负数,先转换成正数

    while True:

    num, reminder = divmod(num,8) # 短除法,对2求,分别得到除数 和 余数、

    l.append(str(reminder)) # 把获得的余数 存入字符串

    if num == 0:

    return "".join(l[::-1]) # 对列表中的字符串进行逆序拼接,得到一个二进制字符串

    3.3 十进制转十六进制

    前面说过,十六进制相比二进制,八进制会复杂一点,但是方法是一样的

    # 十进制转十六进制(这个相对麻烦一点,因为,十六进制包含 A-F,大小写不敏感)

    def dec_to_hex(num):

    base = [str(x) for x in range(10)] +[chr(x) for x in range(ord('A'),ord("A")+6)] # 前者把 0 ~ 9 转换成字符串存进列表 base 里,后者把 A ~ F 存进列表

    l = []

    if num<0:

    return "-"+dec_to_hex(abs(num))

    while True:

    num,rem = divmod(num,16) # 求商 和 留余数

    l.append(base[rem])

    if num == 0:

    return "".join(l[::-1])

    最后看一下运行结果,是不是很方便呢?当然 Python 有内置的方法,比如我们直接输入 十进制数,通过 bin(n) 转为二进制,oct(n) 转为 八进制,hex(n) 转为十六进制。但是原理了解以下还是很有必要的,你说是不是呢?

    a6df3d7fa2e64e41b0f697929eca8258

    好啦,今天的

    Python学习教程内容讲到这,你学会了嘛

    展开全文
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...

    前言

    Python 实现进制转换

    一、导言

    导语:

    在计算机进行数据交换时,常常会有一个进制转换的过程,我们知道计算机只认0 和 1.在内存系统中,基本基于二进制进行运算的,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?

    我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10之后,于是就重0 开始继续数,所以逢十进一就这么来了。

    对于其它进制呢,也是同样的,比如最常见的二进制,也就是逢二进一,慢慢来,依次类推,所以数学的世界是多么的奇妙呀!

    今天给大家带来的是使用 Python 实现进制转换,内容包括如下:

    dec(十进制)—> bin(二进制)

    dec(十进制)—> oct(八进制)

    dec(十进制)—> hex(十六进制)

    二、各种进制介绍

    在转换之前,我们先了解以下各种进制

    十进制(Decimal)

    我们所熟知的十进制,其实是从 0 开始,数到 9 之后,就跳到 10,这样就变成了 10,数数大家总会把

    二进制(Binary)

    二进制同理,从 0 开始也就是 00(前面的一个0可以省去,但是为了更好的描述,所以保留),到 01,也变成了 10【对应十进制中的 3】,然后是 11【对应十进制中的 4】,100【十进制中的5】。。。以此类推

    因为 二进制 的英文单词是 binary,所以在计算机运算的过程中,使用二进制会用如下方法,0b11(4),0b1101(13)等等

    八进制(Octal)

    理解了二进制,在理解八进制就很容易了,八进制是逢八进一,范围是 0~7,对比一下二进制,就很好理解啦!!

    十六进制(Hexadecimal)

    十六进制就可能会相对复杂一点点,十六进制是用数字 0~9 和 英文字母 A - F(大小写随意) 表示,因此 A代表 10, F代表 15。为什么在计算机领域中,十六进制用途会如此广泛呢?

    给大家看一个对比:

    52118fa3af8058362a7ec9c17876cc59.png

    当数据比较大的时候,二进制显然不再那么使用,再看使用十六进制,就简短很多。

    十六进制的运用领域可不止如此,比如原画师调色的时候,如果使用 RGB 三原色的话,那就会有 256 x 256 x 256 种组合,我们就可以使用十六进制,把每一种颜色对比转换成 十六进制字符,就会方便很多,以下是我之前调色的时候写的一个很简单一个 C 语言小程序,呃,似乎有点跑题了,哈哈,不管了

    655648dd9c2fb4561633336ece716bc1.png

    三、使用 Python 代码完成转换

    3.1 十进制转换为二进制

    我记得不太清楚是啥时候第一次学进制转换的,进制转换常用的方法就是对 2 取余数,然后得到余数反转连在一起就是 我们所需要的二进制,举个例子,比如我要计算 十进制数 13 的 二进制是多少?

    73fc6bd675ab135e0fbf662546ba625f.png

    这也是老师教我们的方法,也是我们第一次接触进制转换的时候,用目标数 num 对 2求 余数,直到 商为 0 的时候,结束,然后将余数反向组合输出,及为我们所求的 2 进制数。有的同学会问,我怎么就能这么确定这就是 13 对应的 2 进制数呢?

    答曰:

    由于二进制的特殊性,数字从右边往左边数,依次对应 20 x 1 + 21 x 0 + 22x 1 + 23 x 1 = 1 +4 +8 = 13, 给大家一个速记口诀,1,2,4,8,16,32,64,128,256,512,1024。分别是 20~ 210对应的值

    所以有了思路,我们就可以愉快的敲代码了

    45594e8484e77289a58cd7263e5bb8cb.png

    num, reminder = divmod(num,2) # 短除法,对2求,分别得到除数 和 余数、这是 Python 的特有的一个内置方法,分别可以到商 及 余数

    l.append(str(reminder)) # 把获得的余数 存入字符串

    if num == 0: # 对应了前面的话,当商为 0时,就结束啦

    return “”.join(l[::-1]) # 对列表中的字符串进行逆序拼接,得到一个二进制字符串

    3.2 十进制转八进制

    理解了二进制的转换,八进制一样不难。同样是目标数 num对八 求商,留余数,照这个思路走。检验的时候,一样,把 2n把2 替换成 8即可。

    看代码:

    和 二进制 的基本没啥却别

    f85f361fcb5299769d3dcb312281e142.png

    3.3 十进制转十六进制

    前面说过,十六进制相比二进制,八进制会复杂一点,但是方法是一样的

    94f004e939d82b864b34f0f32140c2b0.png

    最后看一下运行结果,是不是很方便呢?当然 Python 有内置的方法,比如我们直接输入 十进制数,通过 bin(n) 转为二进制,oct(n) 转为 八进制,hex(n) 转为十六进制。但是原理了解以下还是很有必要的,你说是不是呢?

    96a0081b891ba1223c7789b4b62d160a.png

    好啦,今天的Python学习教程内容讲到这,你学会了嘛?

    最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。

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

    2020-07-18 01:24:47
    在我们学习的过程中,接触过二进制,八进制,十进制十六进制,不过这些进制是怎么相互转化的呢?咱们一起来看一下 首先,了解一下各个进制, 二进制由0和1组成, 八进制是由0~7组成, 十进制就不用说了,大家都很...
  •  在java编辑中有没有遇到经常需要进行java中各进制之间转换(十进制转十六进制十进制转二进制、二进制转十进制、二进制转十六进制)事情呢?下面我们就来分析一下各自是怎么转换:  [java]  //10进制转16...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢? 我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢? 我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢?我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到10...
  • 在内存系统中,基本基于二进制进行运算,但是有时候数据过于庞大,为了方便存储管理,计算机会使用十六进制存储数据,但是怎么实现数据转换呢? 我们人类由十根手指头,所以自然就使用十进制啦,每当我们数数字到...
  • 下面是关于程序生成的过程:首先.c和.cpp文件被称为ASCII字符的文本文件,然后经过预编译形成.i文件(在预编译时主要的功能是:宏定义、文件包含、条件编译。),然后经过编译形成.o/.obj文件,随后经过链接可以形成...
  • 展开全部BCD码ASCII码BCD码表示:对于用BCD码怎么表示十进制数32313133353236313431303231363533e4b893e5b19e3133343135663429上面已经分析非常清楚了,这里不赘述了。十进制数29 === BCD码表示为:0010 1001...
  • 这是第一篇博客,主要记录我在2018年上半年数据库工程师总结一些小技巧,适用于一...二进制转十进制,从右往左,分别乘2零次方,直到2七次方,相加则求出十进制十六进制转二进制:每一位数分别除以2,取...
  • 4.11—001—周四

    2019-10-09 02:32:37
    今天所学内容 一、Python:一种面向后台编程语言 学习过程:基础语法-文件操作-函数-模块-面向对象(类)-网络编程-数据库-前端-项目 ...七进制、八进制、十进制等其它进制也需要知道怎么去换算 五、内存分布式...
  • oracle chm帮助文件下载

    2020-12-16 13:32:33
    [Q]怎么样查询特殊字符,如通配符%与_ [Q]如何插入单引号到数据库表中 [Q]怎样设置事务一致性 [Q]怎么样利用光标更新数据 [Q]怎样自定义异常 [Q]十进制十六进制的转换 [Q]能不能介绍SYS_CONTEXT的详细用法 [Q...
  • [Q]十进制十六进制的转换 4 [Q]怎么样抽取重复记录 5 [Q]怎么样设置自治事务 5 [Q]怎么样在过程中暂停指定时间 5 [Q]怎么样快速计算事务的时间与日志量 5 [Q]怎样创建临时表 6 [Q]怎么样在PL/SQL中执行DDL语句 6 ...
  • vc++ 开发实例源码包

    2014-12-16 11:25:17
    6.右边窗口停止抓包后显示十六进制数 hyperlink 自绘CStatic,实现超链接。 iconbutton_demo 演示了多种自绘Button。 IDocHostUIHandler Extended CHtmlView 如题。 IM_毕业设计 聊天系统,操作了数据库,有...
  • C语言编程要点

    2017-09-18 00:10:37
    4.6. 文本模式(textmode)和二进制模式(binarymode)有什么区别? 61 4.7. 怎样判断是使用流函数还是使用低级函数? 62 4.8. 怎样列出某个目录下文件? 62 4.9. 怎样列出一个文件日期和时间? 63 4.10. 怎样对某个目录...
  • asp.net知识库

    2015-06-18 08:45:45
    使用.ashx文件处理IHttpHandler实现发送文本及二进制数据方法 制作一个简单多页Tab功能 一完美关于请求目录不存在而需要url重写解决方案! 在C#中实现MSN消息框功能 XmlHttp实现无刷新三联动ListBox 鼠标...
  • 2、 理解参数传递的过程。 [ 实验内容与步骤] 1、 上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。 main() { int,y; printf(“%d\n”,sum(x+y)); int sum(a,b) { int a,b; return(a+b); } } 2、 ...
  • vfp6.0系统免费下载

    2009-09-17 13:49:13
    答案: 为了简化 Visual FoxPro 开发人员开发应用程序的过程,在 6.0 版中加入了很多新特性,其中包括新的应用程序框架、应用程序生成器、和组件管理库。为保持向后兼容性,也保留了 5.0 版中的旧应用程序向导。新的...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

十进制怎么转十六进制的过程