第一章 基础知识

本文介绍了数制转换的基本概念,包括二进制、八进制、十进制和十六进制之间的转换。对于非十进制转十进制,采用位权法求和;十进制转非十进制则通过除基取余或乘基取整实现。二进制与八进制转换通过每三位一组对应转换,与十六进制转换则是每四位一组。C语言本身不直接支持二进制表示。
摘要由CSDN通过智能技术生成

四种数制

二进制是Binary,简写为B
八进制是Octal,简写为O
十进制为Decimal,简写为D
十六进制为Hexadecimal,简写为H

数制之间相互转换的办法

  • 十进制数转换为非十进制

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

      除基取余,先余为低(位),后余为高(位);

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

      乘基取整,先整为高(位),后整为低(位)

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

  • 非十进制数转换为十进制数

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

  • 二进制和其他进制之间的转换

    1. 二进制与八进制之间的转换

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

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

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

C语言本身不支持二进制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值