zoukankan      html  css  js  c++  java
  • 进位计数制及其转换

    数据与信息

    数据是对客观事物的符号表示。
    信息是各种事物变化和特征的反映,是事物之间相互作用的表征。
    数据处理之后产生的结果为信息。

    计算机中的数据与数据单位

    计算机内部使用二进制表示各种信息。
    计算机中数据的最小单位是,存储容量的基本单位是字节
    8个二进制位称为1个字节,此外还有KB,MB,GB,TB。
    位(bit):位是度量数据的最小单位。
    字节(Byte):一个字节是由8位二进制数字组成(1Byte = 8bit)。
      千字节 1KB = 1024B = 210B
      兆字节 1MB = 1024KB = 220B
      吉字节 1GB = 1024MB = 230B
      太字节 1TB = 1024GB = 240B
    字长:计算机一次能够并行处理的二进制位称为该机器的字长。

    进位计数制

    多位数码中每一位的构成方法以及从低位到高位的进位规则称为进位计数制(简称 数制)。
    如果采用R个基本符号(例如0,1,2,…,R-1)表示数值,则称R进制,R称为该数制的基数(Radix),而数制中固定的基本符号为“数码”。任意一个R进制数D均可展开为:
      

    [其中 R 为计数的基数;k~i~ 为第i位的系数,可以为 0,1,2,...R-1 中的任何一个,R^i^ 称为第 i 位的权]

    • 计算机中常用的几种进位计数制的表示
    进位制 基数 基本符号 形式表示
    二进制 2 0,1 21 B
    八进制 8 0,1,2,3,4,5,6,7 81 O
    十进制 10 0,1,2,3,4,5,6,7,8,9 101 D
    十六进制 16 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 161 H

     

     

     

     

     

     

    • 不同进制数的对照表
    十进制 二进制 八进制 十六进制
    0 0000 00 0
    1 0001 01 1
    2 0010 02 2
    3 0011 03 3
    4 0100 04 4
    5 0101 05 5
    6 0110 06 6
    7 0111 07 7
    8 1000 08 8
    9 1001 09 9
    10 1010 10 A
    11 1011 11 B
    12 1100 12 C
    13 1101 13 D
    14 1110 14 E
    15 1111 15 F

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    进制转换

    R进制转换为十进制
    将R进制按权展开求和即可得相应的十进制数

    十六进制转十进制
    (234)H = (2×162+3×161+4×160D = (564)D

    八进制转十进制
    (234)O = (2×82+3×81+4×80D = (156)D

    二进制转十进制
    (10110)B = (1×24+0×23+1×22+1×21+0×20D = (22)D

    十进制转换位R进制
    将一个十进制数转换成R进制分为两部分:整数部分和小数部分
      整数部分可以采用 “除R取余” 法,即将十进制整数部分连续地除以R取余数,直到商为0,余数从右到左排列,首次取得的余数排在最右边。
      小数部分转换成R进制数采用 “乘R取整” 法,即将十进制小数不断乘以R取整数,直到小数部分为0或达到要求的精度为止(当小数部分永远不会达到0时);所得的整数从小数点之后自左往右排列,取有效精度,首次取得的整数排在最左边。
    示例:将十进制数 225.8125 转换成二进制数
                 

     

    八进制转换为十六进制
    八进制与十六进制的转换通过二进制作中间转换媒介。

    八进制数 对应二进制数 十六进制数 对应二进制数
    0 000 0 0000
    1 001 1 0001
    2 010 2 0010
    3 011 3 0011
    4 100 4 0100
    5 101 5 0101
    6 110 6 0110
    7 111 7 0111
        8 1000
        9 1001
        A 1010
        B 1011
        C 1100
        D 1101
        E 1110
        F 1111

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    示例:
    将二进制数(10101011.110101)B 转换成八进制数。(整数高位补0)

    二进制转八进制,以小数点为中心向左右两边分组,每3位为一组,两头不足补0

    将二进制数(10101011.110101)B 转换成十六进制数。(小数低位补0)

    二进制转十六进制,以小数点为中心向左右两边分组,每4位为一组,两头不足补0

    同样的将八(十六)进制转换成二进制数,只要将1位转换为3(4)位即可。
        

  • 相关阅读:
    点击按钮,回到页面顶部的5种写法
    node知识积累
    Python3基础 str ljust-rjust-center 左、右对齐 居中
    Python3基础 str : 对字符串进行切片
    Python3基础 str : 字符串的逆序
    Python3基础 str __add__ 拼接,原字符串不变
    Python3基础 运算 加减乘除、取余数
    Python3基础 只有int类型,没有long类型
    Python3基础 complex 声明复数
    Python3基础 complex real imag __abs__ 取复数的实部 虚部 模
  • 原文地址:https://www.cnblogs.com/Atone/p/13123947.html
Copyright © 2011-2022 走看看