c#工具类之Int扩展类
public static class IntHelper
{
/// <summary>
/// 转换为2进制字符串
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string To2Base(this int num)
{
return Convert.ToString(num, );
} /// <summary>
/// 转换为8进制字符串
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string To8Base(this int num)
{
return Convert.ToString(num, );
} /// <summary>
/// 转换为16进制字符串
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string To16Base(this int num)
{
return Convert.ToString(num, );
} /// <summary>
/// 2进制字符串转换为int
/// </summary>
/// <param name="numStr"></param>
/// <returns></returns>
public static int From2Base(this string numStr)
{
return Convert.ToInt32(numStr, );
} /// <summary>
/// 8进制字符串转换为int
/// </summary>
/// <param name="numStr"></param>
/// <returns></returns>
public static int From8Base(this string numStr)
{
return Convert.ToInt32(numStr, );
} /// <summary>
/// 16进制字符串转换为int
/// </summary>
/// <param name="numStr"></param>
/// <returns></returns>
public static int From16Base(this string numStr)
{
return Convert.ToInt32(numStr, );
} /// <summary>
/// 将自然数转换了N进制字符串
/// </summary>
/// <param name="number">自然数</param>
/// <param name="xBase">N进制(2~36之间)</param>
/// <returns>N进制字符串</returns>
public static string ToXBase(this int number, int xBase)
{
if (xBase < || xBase > )
{
throw new ArgumentOutOfRangeException("参数值不在2~36的范围内");
} if (xBase == ) return number.ToString(); int n = xBase;
int q = number;
int r;
string rtn = ""; while (q >= n)
{
r = q % n;
q = q / n; if (r < )
rtn = r.ToString() + rtn;
else
rtn = Convert.ToChar(r + ).ToString() + rtn; } if (q < )
{
rtn = q.ToString() + rtn;
}
else
{
rtn = Convert.ToChar(q + ).ToString() + rtn;
} return rtn;
} /// <summary>
/// 判断是否为素数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsPrime(this ulong value)
{
//质数(素数)定义为在大于1的自然数中
if (value > )
{
//除了2的偶数都是合数
if (value.IsEvenNumber())
{
//2是特殊的素数
return value == ;
} for (ulong i = ; (i * i) <= value; i += )
{
if ((value % i) == )
{
return false;
}
} return value != ;
} return false;
} /// <summary>
/// 是否是偶数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsEvenNumber(this long value)
{
if (value < )
{
value = value * -;
} //value & 1==0则必为偶数
return (value & ) == ;
} /// <summary>
/// 是否是偶数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsEvenNumber(this ulong value)
{
//value & 1==0则必为偶数
return (value & ) == ;
} /// <summary>
/// 是否是奇数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsOddNumber(this ulong value)
{
//value & 1==0则必为偶数
return (value & ) > ;
}
}
c#工具类之Int扩展类的更多相关文章
- [Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集]
[Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAP ...
- C#工具类之素数扩展类
/// <summary> /// 素数帮忙类 /// 本类是从.net源码 类 internal static class HashHelpers 类里抽取相应的代码 /// https ...
- C#工具类之字符串扩展类
/// <summary> /// 字典串帮忙类 /// </summary> public static class StringHelper { /// <summa ...
- C#工具类之字典扩展类
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- C#工具类之日期扩展类
/// <summary> /// DateTimeHelper /// </summary> public static class DateTimeHelper { /// ...
- C#工具类之XmlNode扩展类
using System; using System.Linq; using System.Xml; /// <summary> /// XmlNodeHelper /// </su ...
- ios开发总结:Utils常用方法等收集,添加扩展类,工具类方法,拥有很多方便快捷功能(不断更新中。。。)
BOBUtils 工具大全 本人github开源和收集功能地址:https://github.com/niexiaobo [对ios新手或者工作一年以内开发人员很有用处] 常用方法等收集.添加扩展类. ...
- DRF框架(五)——context传参,二次封装Response类,两个视图基类(APIView/GenericAPIView),视图扩展类(mixins),子类视图(工具视图),视图集(viewsets),工具视图集
复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查 ...
- Java+7入门经典 - 6 扩展类与继承 Part 1/2
第6章 扩展类与继承 面向对象编程的一个重要特性: 允许基于已定义的类创建新的类; 6.1 使用已有的类 派生 derivation, 派生类 derived class, 直接子类 direct s ...
随机推荐
- Internet Intranet Extranet
Internet: There's only one of it, and you're on it now. Intranet: An internal network local to a com ...
- AndroidImageSlider(图片轮播控件)
1,引入 dependencies { compile "com.android.support:support-v4:+" compile 'com.squareup.picas ...
- PAT-l3-002堆栈
L3-002. 堆栈 大家都知道“堆栈”是一种“先进后出”的线性结构,基本操作有“入栈”(将新元素插入栈顶)和“出栈”(将栈顶元素的值返回并从堆栈中将其删除).现请你实现一种特殊的堆栈,它多了一种操作 ...
- 【总结整理】arcgis js api的Map类
关于ArcGis for javascrept之Map类 ArcGis for javascrept_ESRI_Map类: 1. 构造方法:esri.Map(); 参数: extent 如果设置 ...
- Ubuntu重启关机命令使用
如果你想保持当前用户的登录而且使用root用户执行命令 可以输入:su root,输入密码 可以运行,shutdown 命令 重启命令: 1.reboot 2.shutdown -r now 立刻重启 ...
- PrototypePattern(23种设计模式之一)
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大 ...
- p4213 【模板】杜教筛(Sum)
传送门 分析 我们知道 $\varphi * 1 = id$ $\mu * 1 = e$ 杜教筛即可 代码 #include<iostream> #include<cstdio> ...
- EXCEL数据导入数据库的另一种方式
一.直接代码 var fileResult = openFileDialog1.ShowDialog(); if (fileResult == System.Windows.Forms.DialogR ...
- swing JCheckBox 更换复选框样式
Java Swing - 如何自定义JCheckBox复选标记图标 摘自 https://www.w3cschool.cn/java/codedemo-484050311.html import ja ...
- python--爬虫基础
http://files.cnblogs.com/files/Kobe10/Python__%E7%88%AC%E8%99%AB%E5%9F%BA%E7%A1%80.pdf