C#十进制与任意进制的转换
/// <summary>
/// 将十进制转换为指定的进制
/// </summary>
/// <param name="Val">十进制值</param>
/// <param name="TargetRadix">目标进制</param>
/// <param name="BaseChar">基数列表(长度必须大于源字符串进制,无I,O)</param>
/// <returns></returns>
public static string JinZhiConvert(ulong Val, int TargetRadix = , string BaseChar = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ")
{
if (TargetRadix == && BaseChar.Length == ) return "长度与基数不能同时为零";
if (TargetRadix <= ) TargetRadix = BaseChar.Length;
List<string> r = new List<string>();
do
{
ulong y = Val % (ulong)TargetRadix;
r.Add(BaseChar[Convert.ToInt32(y)].ToString());
Val = Convert.ToUInt64(Math.Floor(Val / (decimal)TargetRadix));
} while (Val > );
r.Reverse();
return string.Join("", r.ToArray());
} /// <summary>
/// 将任意进制转化为十制
/// </summary>
/// <param name="Val">任意进制的字任串</param>
/// <param name="SourceRadix">源字符串的进制</param>
/// <param name="BaseChar">基数列表(长度必须大于源字符串进制,无I,O)</param>
/// <returns></returns>
public static ulong JinZhiConvert(string Val, int SourceRadix = , string BaseChar = "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ")
{
ulong r = ;
if (BaseChar == "") return ;
if (SourceRadix == ) SourceRadix = BaseChar.Length;
List<char> v = Val.ToCharArray().ToList();
v.Reverse();
for (int i = ; i < v.Count; i++)
{
int index = BaseChar.IndexOf(v[i]);
if (index > -)
r += Convert.ToUInt64(index * Math.Pow(SourceRadix, i));
}
return r;
}
C#十进制与任意进制的转换的更多相关文章
- python的十进制与任意进制的转换
将任意进制转换成十进制 ", 8)) # 表示把8进制的54转换成十进制数并输出结果. # 8可以是2.8,10,16等进制数 将十进制转换成任意进制 def f(n,x): #n为待转换的 ...
- java中十进制转换为任意进制
次笔试时候遇到的关于十进制转换成十三进制的编程题. 先说说简单的思路吧: 1.十进制数 num 转换为 n进制 num%n结果肯定为n进制数的最后一位 结果存入一个数组中 2.进入一个循环num!=0 ...
- C++十进制到任意进制
#include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #in ...
- java 的任意进制间转换(很方便)
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = n ...
- java 的任意进制间转换
直接上代码: public class Main { public static void main(String[] args) { // TODO Auto-generated method st ...
- js模拟栈---进制转化。十进制转任意进制进制,任意进制转十进制
var Stack = (function(){ var items = new WeakMap(); //先入后出,后入先出 class Stack{ constructor(){ items.se ...
- 十进制和n进制的转换(10进制转换为36进制)
答案如下: void Convert() { map<int ,string> maps; maps[0]="0"; maps[1]="1"; ma ...
- C语言之任意进制的转换
我们都知道转换进制是一个让人比较头疼的事情,下面我的代码不是最好的,也就仅仅是一个思路而已,至少我认为使用栈来进行进制转换是比较合适的一种方法,好了,不多叙述了. #include<stdio. ...
- C#实现整型数据字任意编码任意进制的转换和逆转换
实现如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespa ...
随机推荐
- 4.JAVA基础复习——JAVA中的构造函数与this关键字
构造函数:构建创造对象时调用的函数 特点: 1.函数名与类名相同. 2.不用定义返回值类型. 3.没有具体的返回值. public class Demo { private int age; priv ...
- 系统管理--配置Gitlab
很多教程都有配这个,但这个又不能用于”源码管理”模块拉取代码,我一直很困惑这个配置有什么用,然后就找到了该插件的github项目地址才弄明白,链接:https://github.com/jenkins ...
- MyBatis笔记(二) 最简单的insert命令
接上一篇随笔.这里没有用到MyBatis最关键的映射器接口,因此只做个简单的insert操作,update和delete同理,就不再赘述了. 直接上代码: 首先是dao包下的UserDAO.java文 ...
- 在linux和windows用c++编写c接口的动态库
linux 动态的头文件api.h #ifndef _API_H #define _API_H #ifdef DLL_IMPLEMENT #define DLL_EXPORT extern " ...
- 页面适配的小栗子 - github
我模拟了一个QQ音乐的radiostation页面,用了媒体查询以及流式布局,页面大部分内容是js根据json生成的,使用了less来编写css样式表. 下面是仓库地址,感兴趣的小伙伴可以打开看看,将 ...
- android开发_ViewGroup(组视图)-- 五大布局
view组--ViewGroup(组视图) ViewGroup的作用:在view中添加子控件.ViewGroup的5个子类,就是五大布局: (1) LinearLayout 线性布局(常用) (2) ...
- mongodb常用的sql语句总结
本文为博主原创,转载请注明出处: 1 . 查询所有 db.getCollection('CollectionName').find() 2.根据条件查询 db.getCollection('Coll ...
- HDU 3085 Nightmare Ⅱ(噩梦 Ⅱ)
HDU 3085 Nightmare Ⅱ(噩梦 Ⅱ) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Ja ...
- Kde桌面的Mac化
KDE->Mac \(Mac\) 的审美可以说是很成熟了,确实让人很喜欢啊!于是不由得想弄一个 \(Mac\) 风的桌面. 先放张图吧: 效果还蛮不错的哇. \(Mac\) 原生的壁纸下载链接: ...
- docker run -v参数
挂载目录(直接给例子吧) -v=[]:绑定挂载目录 宿主机绑定: -v<host>:<container>:[rw|ro] 在Docker中新建一个共享的卷: -v /< ...