- 博客(3)
- 资源 (3)
- 收藏
- 关注
原创 十六进制(2^n进制)转换十进制(非2^n进制)快速算法
C++代码如下:算法思路: 使用long long类型来保存较大的十进制数字, 如果再大就需要用大数字数组加法来计算. 此处使用char *来保存输入的十六进制字符(边输入边存储,所以是倒着存的),之后使用快速的位运算而不是快速幂运算.公式为:1>>(2*4*i)( 1:binary : 0001 ; 2: bin-> 0010 ,不能被2的N次方搞混)计算当前结果, 之后相加 OK! #incl
2015-03-28 15:55:09 483
转载 十六进制快速转换八进制(算法核心可适用于2^n进制转化)
C++代码: 这个是百度百科中摘取的code, 大家千万要注意gets()和puts()的输入输出流, 对于刚刚入门C程序设计的同学, 千万记得gets()是不会读取’\n’,而是将’\n’存进输入流, 如果再跟一个getchar() 即可检验编译环境: Sublime 2 + MinGW#include<stdio.h>#include<string.h>#include<math.h>
2015-03-28 15:02:31 514
原创 稍稍改良版的快速幂运算
C++代码: /* * @author Hahn * 此算法可在指数为1时减少一步计算(base *= base) * 本人为渣校大二学生 */typedef long long ll;ll pow(ll x, ll y) //改进版快速幂运算{ ll r = 1; ll base = x; while (y > 0
2015-03-28 14:57:10 422
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人