• 7. 进制转化的原理


    用0开头的表示该整数是八进制表现形式,如:0254;用0x开头的表示该整数是十六进制表现形式,如:0xAC;

    对于八进制数0254,要转换成十进制数,就是以各个位上的数值乘以基数8的(n-1)次方,即

       0254=4*8^0 + 5*8^1 + 2*8^2=4+40+128=172

    所以八进制数0254的十进制表现形式是172。 

    同理,二进数和十六进数要转化为十进数,都是以各个位置上的数值乘以该进制数基数的(n-1)次方后,相加得到和,即为该进制数的十进制表现形式。

    若是要由十进制转化为二进制,则是用十进制数除以2(即该进制的基数),依次取余,直到最后不能整除该基数为之,从最后一个余数依序往前,得到的就是该进制数的二进制表现形式。

    整个思路可以参考下图:
    图片 而二进制数如何快速转化为八进制/十六进制呢?

    二进制数要转化为八进制,就是将二进制数从尾往前数,3个位为1组,最后不足3个位的在前面加0补足。然后每组转化为十进制形式后依序组合,就能得到该二进制数的八进制表现形式。

    同理二进制要转化为十六进制,就是将二进制数从尾往前数,4个位为1组,最后不足4个位的在前面加0补足。然后每组转化为十进制形式后依序组合,就能得到该二进制数的十六进制表现形式。
    负数的二进制其实就是该负数的正数的二进制形式取反之后,与二进制数1(0001)相加得到的二进制形式。如下图:
    图片
    负数的二进制形式的最高位是1.


  • 相关阅读:
    sqlmap使用教程-安装教程
    SQL注入攻击总结
    mysql 创建函数失败解决办法,版本 8.0.26
    【VUE3.0体验】axios引入以及property的替代
    异化的房价周期
    vue使用websoket
    spring依赖注入方式及springBoot如何解决循环依赖
    范型的正确使用
    mysql GROUP_CONCAT使用
    Mybatis-MySQL 中使用IFNUL
  • 原文地址:https://www.cnblogs.com/youyuanjuyou/p/8099639.html
Copyright © 2020-2023  润新知