zoukankan      html  css  js  c++  java
  • 数制间的转化方法

    前话:通常使用十进制数,但由于计算机中使用的是二进制数,所以,必须将输入的十进制数转换为计算机能够接受的二进制数,运算结束后再转换为人们所习惯的十进制数,是由计算机系统自动完成。引入八进制和十六进制的目的是为了书写和表示上的方便。

    一,十进制数转换为非十进制数

    1,十进制整数转换为非十进制整数

    除基取余法:即将十进制整数逐次除以需要转换为的数制的基数,直到商为0为止,然后将所得的余数自下而上排列即可。简言之:除基取余,先余为低(位),后余为高(位);

    2,十进制小数转换为非十进制小数

    乘基取整法:即将十进制小数逐次乘以需转换为的数制的基数,直到小数部分的当前值等于零为止,然后将所得到的整数自上而下排列。简言之:乘基取整,先整为高(位),后整为低(位);

    如果一个十进制数既有整数部分,又有小数部分,则应将两者分别进行转换,然后把两者相加便得到结果。

    二,非十进制数转换为十进制数

    非十进制数转换为十进制数采用位权法,即把各非十进制按权展开,然后求和即可。

    三,二进制和其他进制之间的转换

    1,二进制与八进制之间的转换由于3位二进制数恰好是1位八进制数,所以若把二进制数转换为八进制数,只要以小数点为界,将整数部分自右向左和小数部分自左向右分别按每三位为一组,(不足三位用零补齐),然后将各个3位二进制数转换为对应的1位八进制数,即得到结果。反之,若把八进制数转换为二进制数,只要把每一位八进制数转换为对应的3位二进制数即可。

    2,二进制与十六进制之间的转换

    同上,每四位为一组进行对应转换即可。

  • 相关阅读:
    UVA 10617 Again Palindrome
    UVA 10154 Weights and Measures
    UVA 10201 Adventures in Moving Part IV
    UVA 10313 Pay the Price
    UVA 10271 Chopsticks
    Restore DB後設置指引 for maximo
    每行SQL語句加go換行
    种服务器角色所拥有的权限
    Framework X support IPV6?
    模擬DeadLock
  • 原文地址:https://www.cnblogs.com/boogie-xy/p/10645486.html
Copyright © 2011-2022 走看看