查看“︁08-基础算法/03-进制转换”︁的源代码
←
08-基础算法/03-进制转换
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 进制转换 == === 常见进制 === {| class="wikitable" ! 进制 !! 基数 !! 字符 |- | 二进制 | 2 | 0, 1 |- | 八进制 | 8 | 0 ~ 7 |- | 十进制 | 10 | 0 ~ 9 |- | 十六进制 | 16 | 0 ~ 9, A ~ F |} === 任意进制转十进制 === 按权展开求和: <math>A_{k} = a_n \times k^n + a_{n-1} \times k^{n-1} + \cdots + a_1 \times k^1 + a_0 \times k^0</math> <syntaxhighlight lang="cpp"> // 将 k 进制字符串转为十进制整数 int to_decimal(string s, int k) { int res = 0; for (char c : s) { int digit = (c >= '0' && c <= '9') ? c - '0' : c - 'A' + 10; res = res * k + digit; } return res; } </syntaxhighlight> === 十进制转任意进制 === 除基取余,逆序排列: <syntaxhighlight lang="cpp"> // 将十进制整数 x 转为 k 进制字符串 string from_decimal(int x, int k) { if (x == 0) return "0"; string res = ""; while (x) { int r = x % k; char c = (r < 10) ? '0' + r : 'A' + r - 10; res = c + res; x /= k; } return res; } </syntaxhighlight> === 二进制与八进制、十六进制的快速互转 === * 二进制 → 八进制:三位一分组 * 二进制 → 十六进制:四位一分组 * 反过来同理 [[Category:基础算法]] [[Category:三三文档]]
返回
08-基础算法/03-进制转换
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息