zoukankan      html  css  js  c++  java
  • 数制转换

    原创

    https://shimo.im/docs/HqYQyGGxrDKpqT8Q/ 《数制转换》,可复制链接后用石墨文档 App 或小程序打开---带图

    一、各种进制转换为十进制

    规则按位 加权 求和(将各位对应的系数与所对应的权相乘再求和)

    eg.

    (101.11)2            指二进制数101.11                   

    (372.01)8            指八进制数372.01        

    (2A. 7F)16           指十六进制数2A. 7F              即下角标表示是几进制数

     

     

    二、十进制转换为其它进制

    (1)十进制---->二进制

    整数部分的转换: 除基取余, 逆序排列          除到商为0时停止(除法定义类似C,整数相除,商只看整数部分)          指的是转换目标的进制数

    eg. (41)10 = (             )2

     

    小数部分的转换: 乘基取整, 顺序排列       取整指 取整数部分

    eg. (0.39)10 = (          )2+e         转换时通常会对转换后的位数做一个规定,如果没有位数的限制,转换完成的标志是乘到小数部分为0

    在下标处加一个e代表本次转换存在一定的转换误差

     

     

    (2)十进制---> 任意进制

    整数部分采用基数(R)除法, 即  除基(R)取余, 逆序排列;

    小数部分采用基数(R)乘法, 即  乘基(R)取整, 顺序排列.

    eg.(153.8125)10 转换为八进制数

    (153.8125)10 = (         )8

     

     

    三、二进制与八进制之间的转换

    (1)二进制-->八进制

    把二进制数从小数点开始分别向右和向左分成三位一组, 每组便是一位八进制;

    若不能正常构成三位一组,则在二进制整数部分高位添0或在小数点低位添0来补足三位一组

    eg.(10011101.01)2 = (010 011 101 . 010)2 = (235.2)8

     

    (2)八进制-->二进制

    将各八进制数按位展成三位二进制数即可.

    eg.(753.4)8 = (111 101 011 . 100)2 = (111101011.1)2

     

    四、二进制与十六进制之间的转换

    (1)二进制-->十六进制

    把二进制数从小数点开始分别向右和向左分成四位一组, 每组便是一位十六进制数;

    若不能正常构成四位一组, 则在二进制整数部分最高位添零或在小数点低位添0来补足四位一组

    eg.(1011101000.011)2 = (0010 1110 1000 . 0110)2 = (2E8.6)16

     

    (2)十六进制-->二进制

    将各十六进制数按位展成四位二进制数即可

    eg.(3FD.B)16 = (0011 1111 1101.1011)2 = (1111111101.1011)2

     

    五、八进制与十六进制之间的转换

    通过二进制做中介

    : 八进制-->二进制-->十六进制

          十六进制-->二进制-->八进制

     

     

  • 相关阅读:
    Ubuntu 14.04 LTS 安装 NVIDIA 显卡驱动后的屏幕亮度调节问题
    算法算法算法
    Java transient关键字
    使用git和github管理自己的项目---基础操作学习[转]
    Linux 查看系统硬件信息[转]
    实现Servlet容器一
    nginx入门三
    nginx入门二
    nginx入门一
    centos7入门
  • 原文地址:https://www.cnblogs.com/SophieWang-cmu/p/12838131.html
Copyright © 2011-2022 走看看