精华内容
下载资源
问答
  • 常用进制转换1.进制特点2.十进制二进制的转换2.1对应关系2.2...八进制与十进制4.1对应关系+举例一:八进制1111转换为十进制4.2举例十进制64转换为八进制5.十六进制3333与十进制5.1对应关系+举例一:十六进制3333

    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宝藏女孩 欢迎您的关注!
    欢迎关注微信公众号:宝藏女孩的成长日记
    如有转载,请注明出处(如不注明,盗者必究)

    展开全文
  • Shell脚本中数值都是默认按照...1. 二进制、八进制、十六进制等转化为十进制另外 BASE#NUMBER 这种形式可以表示其它进制,BASE值:2 ~ 64。Shell((num=0xff)); echo $num255((num=0123)); echo $num83echo $((0123)...

    Shell脚本中数值都是默认按照十进制处理的,除非这个数值做了特殊标记,如:以 0 开头就是 8 进制数,以0x 开头就是16 进制数。

    1. 二进制、八进制、十六进制等转化为十进制

    另外 BASE#NUMBER 这种形式可以表示其它进制,BASE值:2 ~ 64。

    Shell

    ((num=0xff)); echo $num

    255

    ((num=0123)); echo $num

    83

    echo $((0123))

    83

    ((num=8#123)); echo $num

    83

    ((num=64#123)); echo $num

    4227

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    ((num=0xff));echo$num

    255

    ((num=0123));echo$num

    83

    echo$((0123))

    83

    ((num=8#123)); echo $num

    83

    ((num=64#123)); echo $num

    4227

    2. 使用bc工具来进行进制转换

    我的经验是:一般先设置obase,再设置ibase,这样的话obase/ibase都可以按照默认的十进制来设置;否则先设置的ibase会对后面设置的obase参数生效(这个要注意)。

    ibase 设置 input base,必须是 2 ~ 16 之间的数字;对于十六进制,ABCDEF等字母要大写。

    obase 设置 output base,2-16进制就用普通的表示方法,如果大于16,则用多个字符来表示一个数字,数字之间用空格间隔。

    Shell

    Jay-Ali:~ jay$ echo "obase=16; ibase=10; 100" | bc

    64

    Jay-Ali:~ jay$ echo "obase=2; ibase=10; 100" | bc

    1100100

    Jay-Ali:~ jay$ echo "obase=16; ibase=2; 111111" | bc

    3F

    Jay-Ali:~ jay$ echo "obase=5; ibase=10; 100" | bc

    400

    1

    2

    3

    4

    5

    6

    7

    8

    Jay-Ali:~jay$echo"obase=16; ibase=10; 100"|bc

    64

    Jay-Ali:~jay$echo"obase=2; ibase=10; 100"|bc

    1100100

    Jay-Ali:~jay$echo"obase=16; ibase=2; 111111"|bc

    3F

    Jay-Ali:~jay$echo"obase=5; ibase=10; 100"|bc

    400

    3. 使用printf来进行8、10、16进制的转化

    printf也是可以用来进行简单的进制转换的;它不支持输出二进制。

    Shell

    Jay-Ali:~ jay$ printf %d 100

    100

    Jay-Ali:~ jay$ printf %o 100

    144

    Jay-Ali:~ jay$ printf %x 100

    64

    Jay-Ali:~ jay$ printf %d 0x64

    100

    Jay-Ali:~ jay$ printf %d 0144

    100

    Jay-Ali:~ jay$ printf %X 255

    FF

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    Jay-Ali:~jay$printf%d100

    100

    Jay-Ali:~jay$printf%o100

    144

    Jay-Ali:~jay$printf%x100

    64

    Jay-Ali:~jay$printf%d0x64

    100

    Jay-Ali:~jay$printf%d0144

    100

    Jay-Ali:~jay$printf%X255

    FF

    展开全文
  • 其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上数乘以位权(如8,64,512….),然后将得出来数再加在一起。 如将72.45转换为十进制。如图1所示来看看十进制转八进制,有两种方法:直接法与间接...

    先来看八进制如何转换成十进制。其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上的数乘以位权(如8,64,512….),然后将得出来的数再加在一起。

    如将72.45转换为十进制。如图1所示

    v2-75fa3f8615d2d56ab86d1942e6142218_b.jpg

    来看看十进制转八进制,有两种方法:直接法与间接法,先看直接的方法,与十进制转成二进制相同,咱们还是分整数部分转换和小数部分转换。

    整数部分,除8取余法,每次将整数部分除以8,余数为该位权上的数,商继续除以8,余数又为上一个位权上的数,然后以此类推一直下去,直到商为零,最后从最后一个余数向前排列就可以了,嗨,还是上图直观,如图2所示。

    v2-10e9df4fd7cf1ffca1db7f82cde32774_b.jpg

    再看小数部分,与转二进制相同,这里是乘八取整法,也就是说小数部分乘以8,然后取整数部分,再让剩下的小数部分再乘以8,再取整数部分,……以此类推,一直乘到小数部分为零为止。例如0.13856,如图3所示。

    v2-2106b0164af9be35cfc4e6b0a0f552a3_b.jpg

    小数部分乘以8,如果永远也碰不到零该怎么办?如图4所示(假设示范哦),那就根据位数要求进行“3舍4入”吧。

    v2-f9a38bab3149648453af78bde8a542c1_b.jpg

    这个是直接的方法,还有一个间接的方法捏?就是先把十进制转换为二进制,然后再由二进制转换为8进制,例如将十进制478.0245转为八进制。

    先转为二进制为(转换方法这里就不再累述了哦,不知道的看上期介绍吧):

    (478.125)10=(111011110.001)2

    二进制再转为八进制为(转换方法这里就不再累述了哦,不知道的看上期介绍吧):

    (111011110.001)2=(736.1)8

    注意事项:

    八进制转十进制:整体顺序、小数点不变,个位乘8的0次方+十位乘8的1次方...=十进制得数,即可。小数部分从左到右乘8的负一次方开始,以此类推。

    十进制转八进制:整体顺序、小数点不变,整数部分除8,余数倒着从左向右排,小数部分乘8,整数自左向右排。

    展开全文
  • 有些时候,将数字用字符串保存到文件或者数据库中,你会发现,十进制的64二进制中表示1000000,在八进制中表示100,在十六进制中表示40。于是,需要将64存储到文件或者数据库中,用二进制表示的话占用了7个...

    我们通常用到的数字都是十进制的,日常使用的也是这样,但是在程序中,我们可能还会经常用到二进制、八进制、十六进制的数字。既然程序中会使用到,那么就会有它存在的道理。有些时候,将数字用字符串保存到文件或者数据库中,你会发现,十进制的64在二进制中表示为1000000,在八进制中表示为100,在十六进制中表示为40。于是,需要将64存储到文件或者数据库中,用二进制表示的话占用了7个字符长度,八进制占了3个字符长度,而十进制、十六进制都只用了2个字符长度,可以看出,如果要使用最想的空间来存储一个普通的十进制数字,只要使用更高的进制表示就可以节省更多的空间。现在,我们完全可以自定义属于自己的进制表示,可以是N进制,当然N会有一定的限制。

    下面的源代码给出了自定义进制转换的方法:

    /**

    * 在进制表示中的字符集合。

    */

    final static char[] digits = {

    '0' , '1' , '2' , '3' , '4' ,'5' ,

    '6' , '7' , '8' , '9' , 'a' ,'b' ,

    'c' , 'd' , 'e' , 'f' , 'g' ,'h' ,

    'i' , 'j' , 'k' , 'l' , 'm' ,'n' ,

    'o' , 'p' , 'q' , 'r' , 's' ,'t' ,

    'u' , 'v' , 'w' , 'x' , 'y' ,'z'

    };

    /**

    * 将十进制的数字转换为指定进制的字符串。

    * @param i 十进制的数字。

    * @param system 指定的进制,常见的2/8/16。

    * @return 转换后的字符串。

    */

    public String toCustomNumericString(int i, intsystem) {

    long num = 0;

    if (i < 0) {

    num =((long)2 * 0x7fffffff) + i + 2;

    } else {

    num =i;

    }

    char[] buf = newchar[32];

    int charPos = 32;

    while ((num / system) > 0){

    buf[--charPos]= digits[(int)(num % system)];

    num /=system;

    }

    buf[--charPos] =digits[(int)(num % system)];

    return new String(buf, charPos,(32 - charPos));

    }

    /**

    *将其它进制的数字(字符串形式)转换为十进制的数字。

    * @param s 其它进制的数字(字符串形式)

    * @param system 指定的进制,常见的2/8/16。

    * @return 转换后的数字。

    */

    public int toCustomNumeric(String s, int system){

    char[] buf = newchar[s.length()];

    s.getChars(0, s.length(), buf,0);

    long num = 0;

    for (inti=0;i

    for (intj=0;j

    if(digits[j] == buf[i]) {

    num+= j * Math.pow(system, buf.length - i -1);

    break;

    }

    }

    }

    return (int)num;

    }

    从上面的代码中可以看出,由于受到digits字符数量的限制,现在能够实现的最大自定义进制只有36进制,如果想要构造更大的进制表示,我们可以扩充digits中的字符。当然不能自己构造一个一进制、零进制的数字。

    下面的一个方法是JDK中的标准类库提供的方法,它在性能上有很大的提高,毕竟用到了位运算,而不是简单的比较。

    private static String toUnsignedString(int i, int shift){

    char[] buf = newchar[32];

    int charPos = 32;

    int radix = 1 <

    int mask = radix - 1;

    do {

    buf[--charPos] = digits[i & mask];

    i >>>= shift;

    } while (i != 0);

    return new String(buf,charPos, (32 - charPos));

    }

    由于用到了位移操作,所以它的进制表示只是局限于2/4/8/16/32,其它的就不能实现了。当shift为1时,表示二进制;当shift为2时,表示四进制;依次类推。

    展开全文
  • 使用程序来实现十进制转换为不同的进制,那么关键在于如何将每次的余数保存并正确输出。要知道余数最后是按照倒序输出的,所以这个是一个问题点。(进制的转换方法计算在我的上一篇文章中) #include <stdio.h&...
  • 二进制十进制之间的转换

    千次阅读 2019-03-09 12:06:57
    1.二进制十进制 (按位逐幂求和,按4位分段), 从右往左开始,数每一位2n次幂并相加,幂从0开始每次递增1 比如下面这个数,连在一起太难观察,我们分段进行计算 11101010 → 1110 1010 2n次幂,这里幂...
  • 十进制转换为二进制: 方法1:除二取余法 每次将整数除以二,余数为该位上权数,然后商继续除以二,余数为上一位权上数,就这样一直除下去,直到商为0为止,最后读数时,从最后一个余数开始读,一直读到最前的的...
  • /// 十进制正整数转换成六十二进制/// </summary>/// <param name="Number">需要转换的数字Int64格式,不能负数</param>/// <param name="toBase">转换基数,必须是2至62以内</param&...
  • 其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上数乘以位权(如8,64,512….),然后将得出来数再加在一起。 如将72.45转换为十进制。如图1所示 来看看十进制转八进制,有两种方法:直接法与...
  • 说起进制转换,许多计算机的入门者都会挠头,觉得转换并不方便。一般教科书都是讲授短除法。我在长期教学中用自己的方法教授该知识,学生可以很快听懂原理,并能举一... 2、二进制转换为十进制的方法:权重相加法 ...
  • python中进制转换 1)整数范围取决于机器是32位还是64位,长整数范围是取决于虚拟内存大小 ...十进制转换二进制 bin(10) 十进制转换成八进制 oct(10) 十进制转换成十六进制 hex(10) ...
  • 要能够在心中将255以内的十进制数转换为对应的二进制数。可以参考这个公式表(第一行是二进制,第二行是十进制):  1 1 1 1 1 1 1 1 ... 第一行左起第二个1对应十进制的64......依次类推。  上面这...
  • 其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上数乘以位权(如8,64,512….),然后将得出来数再加在一起。 如将72.45转换为十进制。如图1所示来看看十进制转八进制,有两种方法:直接法与间接...
  • C#中,使用Convert.ToString方法可以将十进制转换二进制、八进制和十六进制,使用Convert.ToInt64方法可以将二进制、八进制和十六进制转换十进制。那么如何将二进制转换成十六进制呢?方法就是首先使用Convert....
  • 二进制十进制相互转换方法

    千次阅读 2017-04-05 12:48:22
    将一个十进制数除以二,得到商再除以二,依此类推直到商等于一或零时为止,倒取将除得余数,即换算为二进制结果 52除以2得到余数依次为:0、0、1、0、1、1,倒序排列,所以52对应二进制数就是110100 ...
  • 1001001转换为十进制的话是1+8+64=73 从10进制向2进制转换: 整数部分“除2取余”,小数部分“乘2取余” 乘二取整是针对十进制小数部分转换为二进制的方法,而整数部分为除二取余,具体如下: 将整数部分...
  • // 二进制十进制的互转 let a = 100; console.log(a.toString(2));//1010 console.log(parseInt('1010',2));//10 // 十六进制与十进制的互转 console.log(a.toString(16));//64 console.log(parseInt('64',16));//...
  • 传统十进制转化为二进制是展转除2取余。下面是一种在int 范围内中一种高效转化算法: /** * * @author 懒人-小何 * */public class IntegerTrans { private final static int[] trans = new int[] { 1, 2, 4...
  • 在.NET Framework中,System.Convert类中ToString方法和ToInt32(ToInt64)方法都可以方便实现各种进制间相互转换。...即可以将十进制整数转换二进制、八进制、十进制(无实际意义)或十...
  • (一)二进制转十进制 如:  66 = 64 + 2;  128 64 32 16 8 4 2 1  0 1 0 0 0 0 1 0 ... 1)先将该整数绝对值转换为二进制,然后进行按位取反再加1.  如:  -66  66 =&gt; ...
  • 正数的二进制:1的二进制为 00000001 负数的二进制(补码):将该负数绝对值所对应的二进制,按位取反,然后+1 -1:先将1按位取反,11111110,然后+1,所以-1的二进制为 11111111 正数的二进制比较好办,直接打印...
  • 十进制整数(如85)要转换成二进制我们最原始方法呢就是短除法,但是当这个十进制数比较大时短除法就有些麻烦了。其实可以这样来计算:如85=64+16+4+1=2^6*1+2...同样要将二进制转换为十进制也可以这样来计算,如0...
  • 二进制 : 待转换十进制数依次除2取余,所得余数序列反转即所求。 二进制-----&gt;十进制: 按位与权值相乘求和。(1,2,4,16.。。。。)   十进制--&gt;八进制: 待转换十进制数依次除8取余,所得...
  • 十进制转换为二进制

    千次阅读 2006-01-05 17:43:00
    CREATE FUNCTION dbo.f_dec_bin(@num bigint,@length int)RETURNS varchar(64)ASBEGIN--作者:pbsql--@num为要转换为二进制字符串正整数,若为负数则返回0--@length为要返回二进制字符串长度--若@length为负数...
  • 正数转换:0110 1101---》64+32+8+4+1=109   0011 1001---》32+16+8+1=57   107---》64+32+8+2+1=107...负数转换:先用正数转换为二进制,然后按位取反,再加1   -7---》0000 0111---》1111 10
  • 第一个参数转换的十进制数据,第个参数是指定使用多少位来显示十六进制数据。 参考实例:  Edit1.Text:=IntToHex('100',2);  执行结果,Edit1.Text等于64。 procedure TForm1.Button1Click(Sende...
  • 进制的转换二

    2016-10-09 14:41:00
    八进制转换成十进制十进制转换成八进制 ...其方法与二进制转换成十进制差不多:按权相加法,即将八进制每位上数乘以位权(如8,64,512….),然后将得出来数再加在一起。 如将72.45转换为十进制。如图...
  • **一,Python中整数表示:** ...1,十进制转换为其他进制: 1)内置函数 >>> bin(100) '0b1100100' >>> oct(100) '0o144' >>> hex(100) '0x64' 2)字符串格式化 >>> "{0:b}
  • 十进制数与十六进制、二进制快速转换 常见进制转换方法是除二取余法,从下往上取余数。这里记录另外一种快速实现进制转换的方法: 以十进制二进制为例,例如80转二进制: 80可以分为64+16,那么二进制数轴...

空空如也

空空如也

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

十进制的64转换为二进制