当前位置: 首页 > news >正文

【信息学奥赛】CSP-J/S初赛04 进制转换相关问题(二、八、十六进制与十进制互相转换)

大家好,我是bigbigli,今天我们学习初赛中常考的一个数学内容——进制转换

进制转换

常用的数制

:数制中某一位上的1所表示的数值的大小,比如十进制中的123,1的位权是100,2的位权是10,3的位权是1。

进制基数基数个数进数规律
十进制0 1 2 3 4 5 6 7 8 910逢十进一
二进制0 12逢二进一
八进制0 1 2 3 4 5 6 78逢八进一
十六进制0 1 2 3 4 5 6 7 8 9 A B C D E F16逢十六进一

某进制转十进制

二进制数、八进制数、十六进制数转换为十进制数的方法:**按权展开求和法。**即把多项式按十进制的规则进行求和,所得结果即是该数的十进制。

例如:二进制数1011.01转十进制

(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

十进制转某进制

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

口诀:除以K取余,逆序排列

例如:十进制整数转二进制数 (89)10 =(1011001)2

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

口诀:乘K取整,顺序排列

例如:十进制小数转二进制数 (0.625)10= (0.101)2

八进制与二进制相互转换

二进制数转换成八进制数:从小数点开始,整数部分向左、小数部分向右,每 3位为一组用一位八进制数的数字表示,不足 3位的要用“0”补足 3位,就得到一个八进制数。

例:将二进制的 10110.0011 转换成八进制:

即:(10110.011)2 = (26.14)8

八进制数转换成二进制数:把每一个八进制数转换成 3位的二进制数,就得到一个二进制数。

例:将八进制的 37.416转换成二进制数: 37.416 → 011 111 .100 001 110

即:(37.416)8 =(11111.10000111)2

十六进制与二进制相互转换

二进制数转换成十六进制数:从小数点开始,整数部分向左、小数部分向右,每 4 位为一组用一位十六进制数的数字表示,不足 4位的要用“0”补足 4位,就得到一个十六进制数。

例:将二进制数 1100001.111 转换成十六进制:0110 0001.1110→61.E

即:(1100001.111)2 =(61.E)16

十六进制数转换成二进制数:把每一个八进制数转换成 4 位的二进制数,就得到一个二进制数。

例:将十六进制数 5DF.9 转换成二进制:0101 1101 1111.1001

即:(5DF.9)16 =(10111011111.1001)2

注:以上所说的二进制数均是无符号的数。这些数的范围如下表:

无符号位 二进制数位数数值范围十六进制范围表示法
8位 二进制数0~255 (255=28(-1))00~0FFH
16位 二进制数0~65535(65535=216(-1)0000H~0FFFFH
32位 二进制数0~232-100000000H~0FFFFFFFFH

相关文章:

  • leetcode67 二进制求和
  • Android低代码开发 - InputMenuPanelItem详解
  • 2.spring cloud gateway 源码编译
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • 表 达式树
  • 【NCBI】SRA toolkit安装及使用-WindowsLinux版本
  • 摄像头劫持——保护自己免受窥探
  • 【机器学习】机器学习重要方法—— 半监督学习:理论、算法与实践
  • 6.2 事件的创建,修改和删除
  • React native新架构组成
  • SQL server with方法修改
  • 两个src案例分享
  • SpringMVC框架学习笔记(八):自定义拦截器和异常处理
  • 第二十五篇——信息加密:韦小宝说谎的秘诀
  • R可视化:微生物相对丰度或富集热图可视化
  • 《深入 React 技术栈》
  • axios 和 cookie 的那些事
  • DOM的那些事
  • Intervention/image 图片处理扩展包的安装和使用
  • java概述
  • orm2 中文文档 3.1 模型属性
  • PAT A1120
  • vue数据传递--我有特殊的实现技巧
  • 产品三维模型在线预览
  • 高程读书笔记 第六章 面向对象程序设计
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 聊聊flink的BlobWriter
  • 实战|智能家居行业移动应用性能分析
  • 微信小程序:实现悬浮返回和分享按钮
  • 译有关态射的一切
  • 中文输入法与React文本输入框的问题与解决方案
  • 阿里云ACE认证学习知识点梳理
  • 从如何停掉 Promise 链说起
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • #{} 和 ${}区别
  • #include<初见C语言之指针(5)>
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (k8s中)docker netty OOM问题记录
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (二)pulsar安装在独立的docker中,python测试
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET gRPC 和RESTful简单对比
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .Net的C#语言取月份数值对应的MonthName值
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • .NET性能优化(文摘)
  • .net中调用windows performance记录性能信息
  • @antv/x6 动态的修改attr与prop,以及动态改变节点的大小