首页 > 其他分享 >开篇——进制转换

开篇——进制转换

时间:2023-06-29 16:35:32浏览次数:39  
标签:39 转换 开篇 二进制 分割 位数 八进制 十进制 进制

目录

十进制对任意进制数转换时,将其除以进制类型取余倒序排列
其他进制之间的转换使用“8421”法:

1.1.十进制——>二进制(以一个位数为单位进行分割)

8+4+2+1=15可以写成:

2^3+2^2+2^1+2^0=15

若十进制数大于15,则依次按照2的阶次增加数值,且该数值必须大于该十进制数。
比如对于十进制数39(>15):

2^5+2^4+2^3+2^2+2^1+2^0=63

比如:

10=8+2=8+0+2+0

8 4 2 1四位数上,只有8 2上对应有数值,因此记为1,其它空位记为0.因此10转换为二进制为1010
再比如

39=32+0+0+4+2+1

16 8上空位,则39转换为十进制为100111

1.2.十进制——>八进制(以三个位数为单位进行分割)

八进制数:0 1 2 3 4 5 6 7
比如:

39=32+0+0+4+2+1

根据8 4 2 1法可得:

(39)_2=100111

利用4 2 1为一组进行分割,不够用0补:

1 0 0 | 1 1 1
4 2 1 | 4 2 1

三位为一组,只看对应于14 2 1,并将满足条件的值相加:
第一组:4 + 0 + 0 = 4;
第二组:4 + 2 + 1 = 7
则:

(39)_8=47

1.3. 十进制——>十六进制(以四个位数为单位进行分割)

同样的取39为例:其二进制数为100111,只有六位,以四位为一组时需补0:

0 0 1 0 | 0 1 1 1
8 4 2 1 | 8 4 2 1

四位为一组,只看对应于18 4 2 1,并将满足条件的值相加:
第一组:0 + 0 + 2 + 0 = 2;
第二组:0 + 4 + 2 + 1 = 7
则:

(39)_{16}=27

注意: 在C语言中,二进制不会被直接识别头部加0b,对于八进制需在头部添加 0,对于十六进制则需要在头部添加0x

标签:39,转换,开篇,二进制,分割,位数,八进制,十进制,进制
From: https://www.cnblogs.com/jxsme/p/17514521.html

相关文章

  • 代码随想录算法训练营第二十天| 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索
    669.修剪二叉搜索树思路递归法: 需要思考清楚,如果当前节点<low,那么就返回递归它的右节点,而不是自己取判断,找出来一个合适的节点,这样的话会越想越乱代码:1TreeNode*trimBST_cursor(TreeNode*root,intlow,inthigh){2if(!root)returnnullptr;34if......
  • 开篇:数据驱动UI的设计理念
    在线演示:http://v.youku.com/v_show/id_XNzA0NDc1ODE2.html清晰版视频+代码下载:http://115.com/lb/5lbcfwdfuwis一、概述本演示主要是对WPF一个非常重要的设计理念做一个简单的概述。这个理念就是:数据驱动UI的设计理念。这是我们的开篇,我们先来看一下这个设计理念,然后感受一下它与......
  • 2023.6.29 重构 2 行二进制矩阵
    考虑贪心策略。每一列,把1优先放在lower和upper两行中较大的那一行上。implSolution{pubfnreconstruct_matrix(upper:i32,lower:i32,colsum:Vec<i32>)->Vec<Vec<i32>>{letn=colsum.len();let(mutupper,mutlower)=(upper,l......
  • 力扣---1253. 重构 2 行二进制矩阵
    给你一个 2 行 n 列的二进制数组:矩阵是一个二进制矩阵,这意味着矩阵中的每个元素不是 0 就是 1。第 0 行的元素之和为 upper。第 1 行的元素之和为 lower。第 i 列(从 0 开始编号)的元素之和为 colsum[i],colsum 是一个长度为 n 的整数数组。你需要利用 ......
  • Mysql 日期和时间转换
    https://www.php.cn/faq/523569.html一、MySQL中的日期时间类型在MySQL中,日期时间类型包括DATE、TIME、DATETIME以及TIMESTAMP四种类型。其中,DATE类型表示日期,格式为'YYYY-MM-DD';TIME类型表示时间,格式为'HH:MM:SS';DATETIME类型表示日期和时间,格式为'YYYY-MM-DDHH:MM:SS';TIMESTA......
  • 格式转换
         ......
  • fastjson将date转换成了long
     记录一个bug,这个问题是使用fastjson的时候遇到了将date的数据转换成long类型而不是转换成string环境fastjson使用的是1.2.76造成的原因更具环境大家可能已经猜测到了真实的原因-版本太低造成的。这个项目的存在时间比较久所以在使用的依赖上版本比较低,除了源码之外......
  • 如何配置mysql主从复制中的二进制日志传输?
    要配置MySQL主从复制中的二进制日志传输,需要进行以下步骤:确保主服务器的二进制日志功能已启用:在主服务器的配置文件(通常是my.cnf或my.ini)中,找到并确认以下配置项已启用:log_bin=ONbinlog_format=ROWlog_bin表示启用二进制日志功能,binlog_format设置......
  • 解锁高质量文档转换:通过Java应用程序免费将PDF转换为XPS
    在当今数字时代,文档转换已经成为我们日常生活中不可或缺的一部分。然而,不是所有的文件格式都是平等无差的,在与他人共享文档时可能会遇到兼容性问题。这就是我们需要进行文件格式转换的原因,而将PDF转换为XPS是一种受欢迎的转换选择。如果你正在寻找一种使用Java将PDF文件转换为XPS......
  • 浮点数-Float-Double转二进制在线工具
    浮点数-Float-Double转二进制Float转二进制,Double转浮点数-Float-Double转二进制https://tooltt.com/floatconverter/在线单双精度(Float,Double)浮点数转二进制浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一......