美文网首页
精解十六进制转换

精解十六进制转换

作者: KangSmit的算法那些事儿 | 来源:发表于2020-04-21 10:06 被阅读0次

    16转10

    16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方……

    所以,在第N(N从0开始)位上,如果是是数 X (X 大于等于0,并且X小于等于 15,即:F)表示的大小为 X * 16的N次方。

    例:2AF5换算成10进制:

    竖式计算

    第0位: 5 * 16^0 = 5

    第1位: F * 16^1 = 240

    第2位: A * 16^2= 2560

    第3位: 2 * 16^3 = 8192


    10997

    直接计算就是:

    5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

    16进制到二进制

    由于在二进制的表示方法中,每四位所表示的数的最大值对应16进制的15,即16进制每一位上最大值,所以,我们可以得出简便的转换方法,将16进制上每一位分别对应二进制上四位进行转换,即得所求:

    例:2AF5换算成2进制:

    第0位: (5)16 = (0101) 2

    第1位: (F)16 = (1111) 2

    第2位: (A) 16 = (1010) 2

    第3位: (2) 16 = (0010) 2 -------------------------------------

    得:(2AF5)16=(0010.1010.1111.0101)2

    0xffffffff是多少?

    0xffffffff表示的是一个十六进制数

    1.将其转换为十进制数
    0xffffffff=16x107+16x106+...+16x10^0=4294967295

    2.将其转换为二进制数
    十六进制转换为二进制就是直接把每位转换成二进制就可以了
    f(15)变成二进制:1111,则
    0xffffffff = 1111 1111 1111 1111 1111 1111 1111 1111 (8个F的二进制形式, 一个F占4个字节 )
    即32位数都是1的二进制数

    0x代表16进制,后面是数字,十进制是4294967295

    引用文献1
    引用文献2

    相关文章

      网友评论

          本文标题:精解十六进制转换

          本文链接:https://www.haomeiwen.com/subject/igiyihtx.html