C# 进制转化

//int转16进制  (long类型同样)
int a=90;
string str= convert.tostring(a,16); //5a

//int转2进制
int a=90;
string str= convert.tostring(a,2); //1011010

//int转byte
int a=90;
string str= Convert.Tobyte(a); //0x5a

//16进制转10
string hex = "5a";
string aa = Convert.ToInt32(hex,16).ToString();// 90

//16进制转2进制
string hex = "5a";
string aa = Convert.ToString(Convert.ToInt32(hex, 16), 2); //1011010
//十六进制字符串转十进制
     public string ConvertHexToIntStr(string hexstr)
        {
            if (hexstr.StartsWith("0x"))
            {
                hexstr = hexstr.Substring(2);
            }

            //如果不是有效的16进制字符串或者字符串长度大于16或者是空,均返回NULL
            if (!IsHexadecimal(hexstr) || hexstr.Length > 16 || string.IsNullOrEmpty(hexstr))
            {
                return null;
            }
            if (hexstr.Length > 8)
            {
                return Convert.ToInt64(hexstr, 16).ToString();
            }
            else if (hexstr.Length > 4)
            {
                return Convert.ToInt32(hexstr, 16).ToString();
            }
            else
            {
                return Convert.ToInt16(hexstr, 16).ToString();
            }
        }
        // 判断是否是十六进制格式字符串
        public bool IsHexadecimal(string str)
        {
            const string PATTERN = @"[A-Fa-f0-9]+$";
            return System.Text.RegularExpressions.Regex.IsMatch(str, PATTERN);
        }
  

原文地址:https://www.cnblogs.com/zhengxia/p/11784795.html

时间: 2024-11-09 00:31:47

C# 进制转化的相关文章

c语言进制转化

#include <stdio.h> // 进制转化 int main(void) { int i1 = 12; int i2 = 88; int i3 = 0x32C; printf("八进制输出i1 = %o\n", i1); // 14 printf("十六进制输出i2 = %x\n", i2); // 58 printf("十六进制输出i3 = %x\n", i3); // 32c printf("十进制输出i3 =

Java Integer 进制转化的实现(附源码),对模与补码的理解

1.toBinaryString方法的实现 1 public static String toBinaryString(int i) { 2 return toUnsignedString0(i, 1); 3 } 4 private static String toUnsignedString0(int val, int shift) { 5 // assert shift > 0 && shift <=5 : "Illegal shift value";

栈的应用之进制转化

顺序栈的代码: 不再赘述:点击打开链接 //栈的应用-----进制转化 #include"stack.h" int main() { Stack st; InitStack(&st); int select; int num1; //要转化的数 int num2; //转化之后各个位的数 int flag = 1; //控制循环结束 while(flag) { cout<<"****************进制转换*****************&quo

计算机基础知识_进制转化

进制转化 一.任何一个进制转化为10进制的方式 156的十进制可以看做1*10^2 + 5*10^1  +   6*10^0 首先我们看一下156 ,平方,次方等等都是根据后面有多少位决定的,如果用计算机计算,则正好是156 33是一个八进制可以看做3*8^1+3*8^0 次方  换算出来就是10进制 如果你本身是x进制,那么你的数字就看做  num * x^位数  比如我有一个16进制的数字,转为10进制 16进制在计算机中表示方法: 1 2 3 4 5 6 7 8 9 a b c d e f

python数据结构:进制转化探索

*********************************第一部分******************************************************************* *********************************************************************************************************************** # 输入excel的行号,输出对应列的序号(从0开

标识符,进制转化,原反补码等

标识符 Java对包.类.方法.参数.变量等要素命名时使用的字符序列. 规则:***** 1.由字母(含中.英.日.俄等).数字.下划线_和美元符号$组成. 2.不能以数字开头   int 123a=1; 3.区分大小写  int a=1和int A=1是不一样的. 4.长度无限制.(一般编程长度不超过15个字符) 5.不能是Java中的保留字和关键字    int class="1"    int ainta=1 保留字和关键字都有哪些?我们知道以后应该避开它们. 标识符命名习惯:*

实现10进制转化成其它进制

<?php/** * Created by PhpStorm. * User: lenovo * Date: 2016/4/1 * Time: 17:10 */ header('content-type:text/html;charset=utf-8'); // 获取被转化数字及转化进制 $num = isset($_POST['num'])?$_POST['num']:''; $connect = isset($_POST['connect'])?$_POST['connect']:''; /

Day 3 python入门拾遗篇:bytes和str转化;三元运算;进制转化

pre.ctl { font-family: "Liberation Mono", monospace } p { margin-bottom: 0.25cm; line-height: 120% } 1.bytes类型 Python3中一个很重要的特性就是对文本和二进制数据做了较为明显的划分. 文本:Unicode,由str类型表示. 二进制数据:bytes类型表示.电影文件.音频文件都由二进制文件存储. bytes类型和str类型相互转化: string------>byte

一个卓有成效的汇编优化范例--使用SSE2指令优化进制转化

我的一个感兴趣的编程方向是大数计算,因此用汇编语言写了很多大数计算方面的小程序,上周突然想出一个使用SSE2指令将整数转为16进制字符串的好主意,遂付诸实现.原以为至多可提速500%,那知测试后发现,相对于最初的C语言版本,速度竟提高20倍以上,兴奋之余,遂有了这篇博客文章. 这个程序主要示范将64bit一个整数转化为16进制字符串的功能,功能和算法都比较简单.我相信许多人都写过类似的程序,但不知有没有人尝试去你优化它.这个示范程序包括3个C语言版和1个使用SSE2指令的汇编语言版.下面我们给出

HDU 2106 decimal system (进制转化求和)

题意:给你n个r进制数,让你求和. 析:思路就是先转化成十进制,再加和. 代码如下: #include <iostream> #include <cstdio> #include <algorithm> #include <queue> #include <vector> #include <cstring> #include <map> using namespace std; const int maxn = 70;