zoukankan      html  css  js  c++  java
  • 各进制数间转换

    #region 各进制数间转换
    /// <summary>
    /// 实现各进制数间的转换。ConvertBase("15",10,16)表示将十进制数15转换为16进制的数。
    /// </summary>
    /// <param name="value">要转换的值,即原值</param>
    /// <param name="from">原值的进制,只能是2,8,10,16四个值。</param>
    /// <param name="to">要转换到的目标进制,只能是2,8,10,16四个值。</param>
    public static string ConvertBase(string value, int from, int to)
    {
    if (!isBaseNumber(from))
    throw new ArgumentException("参数from只能是2,8,10,16四个值。");

    if (!isBaseNumber(to))
    throw new ArgumentException("参数to只能是2,8,10,16四个值。");

    int intValue = Convert.ToInt32(value, from); //先转成10进制
    string result = Convert.ToString(intValue, to); //再转成目标进制
    if (to == 2)
    {
    int resultLength = result.Length; //获取二进制的长度
    switch (resultLength)
    {
    case 7:
    result = "0" + result;
    break;
    case 6:
    result = "00" + result;
    break;
    case 5:
    result = "000" + result;
    break;
    case 4:
    result = "0000" + result;
    break;
    case 3:
    result = "00000" + result;
    break;
    }
    }
    return result;
    }

    /// <summary>
    /// 判断是否是 2 8 10 16
    /// </summary>
    /// <param name="baseNumber"></param>
    /// <returns></returns>
    private static bool isBaseNumber(int baseNumber)
    {
    if (baseNumber == 2 || baseNumber == 8 || baseNumber == 10 || baseNumber == 16)
    return true;
    return false;
    }

    #endregion

  • 相关阅读:
    字符串数组 去重 研究
    监听 dom 改变
    清除body 不改变路径 页面信息加载第三方
    使用img标签实现xss的常见方法
    禁止ios浏览器页面上下滚动 (橡皮筋效果)
    遍历 Request.Form.Keys
    selenium-java之使用浏览器打开网页举例
    docker搭建redis
    docker镜像无法删除 Error:No such image:xxxxxx
    连接查询SQL说明举例
  • 原文地址:https://www.cnblogs.com/zhangxiaolei521/p/5600309.html
Copyright © 2011-2022 走看看