首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C++数论】进制转换

进制转换

进制转换是计算机科学和数学中的基础概念,主要用于在不同进制(如二进制、八进制、十进制、十六进制)之间进行数值的转换。

进制的应用

计算机系统:二进制是计算机的基础,八进制和十六进制常用于简化二进制表示。

编程:在编程中,十六进制常用于表示内存地址和颜色值。

数学计算:进制转换有助于理解不同进制之间的数值关系。

1、计算机的数制

数码:数制中表示基本数值大小的不同数字符号。

例如:

十进制有10个数码: 0、1、2、3、4、5、6、7、8、9

八进制有8个数码:0、1、2、3、4、5、6、7

十六进制有16个数码:0 、1、 2、 3 、4、 5、 6、 7、 8、 9 、A 、B、 C、 D 、E、 F

二进制有2个数码:0、1

基数:数制所使用的数码的个数。

例如:

二进制的基数为2; 十进制的基数为10。

位权:数制中某一位所表示数值的大小(所处位置的权重)。

例如:

十进制的123,1的位 权是100,2的位权是10, 3的位权是1。

       ==

==

2、各进制转换的关系表

3、各种数制之间的转换

3.1   十进制转K进制

整数部分: 十进制整数转换为K进制整数的方法 : 倒除法即除 K 直至商为0,倒取余数。

例如:

172(10) = 10101100(2)

小数部分: 十进制小数转换为K进制小数的方法 :  取整法即小数部分循环乘以K直至为0,顺序取整数部分。

例如:

0.625(10) = 0.101(2)

3.2   K 进制数转换成十进制数

方法: 按权相加法展开成一个多项式,每项是该位的数码与相应的权之积,把多项式按十进制数的规则进行求和,所得结果即是该数的十进制。

==公式

==

例如

二进制数转换为十进制数

示例

计算过程

八进制数转换为十进制数

示例

计算过程

十六进制数转换为十进制数

示例

计算过程

3.3  二进制转八进制

整数部分 :从右向左,二进制3位一组转成八进制

小数部分 :从左向右,二进制3位一组转成八进制

例如:

1 111 010 101 101(2) = 17255(8)

1 101 110.101 1(2) = 156.54(8)  

另外,二进制也可以先转成十进制,再由十进制转成八进制

3.4  二进制转十六进制

整数部分 :从右向左,二进制4位一组转成十六进制

小数部分 :从左向右,二进制4位一组转成十六进制

例如:

1 1110 1010 1101(2) = 1EAD(16)

11110 1001.1011 1(2) = 1E9.B8(16)  

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OQUbn4Mg8XiY94leruEVX01A0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券