zoukankan      html  css  js  c++  java
  • C语言基础中,进制之间的转换

    C语言基础中,进制之间的转换     作者:王可利(Star·星星)

    整型的表现形式有如下几种方式:

    十进制: 都是以0-9这九个数字组成,不能以0开头。

    二进制: 由0和1两个数字组成。

    八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。

    十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以ox开始。

    1.十进制转二进制

    方法:十进制的数除以2,然后取余数,直到最后的商为0为止。。然后余数从下到上取(这个就是二进制的数)

    2.二进制转十进制

    方法:把二进制数按权展开、相加就是十进制数。

     

    分析:二进制4位数字,从个位开始数:0.1.2.3 就分别是  

            个位的数乘以2的0次方+十位的数乘以2的1次方+百位的数乘以2的2次方+千位的数乘以2的3次方=十进制的数

    3.十进制转八进制(类似十进制转二进制的方法)

    方法:十进制的数一直除以8,直到商为0,然后倒着取余八进制的数

    4.八进制转十进制(类似二进制转十进制的方法)

    方法:把八进制的数按权展开,相加就是十进制数。

    5.二进制转八进制

    方法1:二进制 -> 十进制 -> 八进制

    方法2:2的3次方是8,所以,二进制可以从个位开始,切成3个3个为一组,最高位不够3个就补0。。

               然后每一组数就代表八进制的一个位数。。

    二进制转十六进制也是一样的方法

    5.八进制转二进制

    方法1:八进制 -> 十进制 -> 二进制

    方法2:八进制每一位数进行除2取余,如果取出来的余数不够3个就在最高位补0。(为什么是不足3个在最高位补0?因为2的3次方是8)。

    十六进制转二进制也是一样的方法

  • 相关阅读:
    CodeForces 620D Professor GukiZ and Two Arrays 双指针
    模板汇总 —— 最大团
    CodeForces 1105E Helping Hiasat 最大独立集
    CodeForces 925 C Big Secret
    CodeForces 979 D Kuro and GCD and XOR and SUM
    CodeForces 665E Beautiful Subarrays 字典树
    CodeForces 723F st-Spanning Tree
    CodeForces 103D Time to Raid Cowavans 询问分块
    博客园添加访问次数统计
    oracle转mysql总结
  • 原文地址:https://www.cnblogs.com/StarKL/p/6088660.html
Copyright © 2011-2022 走看看