C 進製轉換 二進位制 十六進製制 十進位制互轉

2021-09-08 04:48:16 字數 2222 閱讀 1138

原文:

c# 進製轉換(二進位制、十六進製制、十進位制互轉)

//1.請問c#中如何將十進位制數的字串轉化成十六進製制數的字串

//十進位制轉二進位制

console.writeline("十進位制166的二進位制表示: "+convert.tostring(166, 2));

//十進位制轉八進位制

console.writeline("十進位制166的八進位制表示: "+convert.tostring(166, 8));

//十進位制轉十六進製制

console.writeline("十進位制166的十六進製制表示: "+convert.tostring(166, 16));

//二進位制轉十進位制

console.writeline("二進位制 111101 的十進位制表示: "+convert.toint32("111101", 2));

//八進位制轉十進位制

console.writeline("八進位制 44 的十進位制表示: "+convert.toint32("44", 8));

//十六進製制轉十進位制

console.writeline("十六進製制 cc的十進位制表示: "+convert.toint32("cc", 16));

//2.在串列埠通訊過程中,經常要用到 16進製制與字串、位元組陣列之間的轉換

private string stringtohexstring(string s,encoding encode)

return result;

}private string hexstringtostring(string hs, encoding encode)

,stringsplitoptions.removeemptyentries);

byte b = new byte[chars.length];

//逐個字元變為16進製制位元組資料

for (int i = 0; i < chars.length; i++)

//按照指定編碼將位元組陣列變為字串

return encode.getstring(b);

}/// /// 字串轉16進製制位元組陣列

///

///

///

private static byte strtotohexbyte(string hexstring)

/// /// 位元組陣列轉16進製制字串

///

///

///

public static string bytetohexstr(byte bytes)

} return returnstr;

}/// /// 從漢字轉換到16進製制

///

///

/// 編碼,如"utf-8","gb2312"

/// 是否每字元用逗號分隔

///

public static string tohex(string s, string charset, bool fenge)

system.text.encoding chs = system.text.encoding.getencoding(charset);

byte bytes = chs.getbytes(s);

string str = "";

for (int i = 0; i < bytes.length; i++)

", bytes[i]);

if (fenge && (i != bytes.length - 1))

", ",");

}} return str.tolower();

}////// 從16進製制轉換成漢字

///

///

/// 編碼,如"utf-8","gb2312"

///

public static string unhex(string hex, string charset)

// 需要將 hex 轉換成 byte 陣列。

byte bytes = new byte[hex.length / 2];

for (int i = 0; i < bytes.length; i++)

catch

}system.text.encoding chs = system.text.encoding.getencoding(charset);

return chs.getstring(bytes);

}

十進位制 二進位制 十六進製制轉換

十進位制轉二進位制 十六進製制我覺得最簡單也最方便的辦法就是直接用計算器算了。如果不依賴工具,那我們要如何去計算呢。先來說說二進位制。最多見的是短除法。所謂短除法大家可以去看看 這個百科裡面的詳細明了的解釋。我想補充的一點是 如果你嫌短除法太過於麻煩,可以在拿到乙個二進位制數的時候直接用2 n去減。...

C 進製轉換(二進位制 十六進製制 十進位制互轉)

由於二進位制數在c 中無法直接表示,所以所有二進位制數都用乙個字串來表示 例如 二進位制 1010 表示為 字串 1010 c int d 10 十進位制轉二進位制字串 console.writeline convert.tostring d,2 輸出 1010 十進位制轉十六進製制字串 conso...

C 進製轉換 二進位制 十六進製制 十進位制互轉

c 進製轉換 二進位制 十六進製制 十進位制互轉 由於二進位制數在c 中無法直接表示,所以所有二進位制數都用乙個字串來表示 例如 二進位制 1010 表示為 字串 1010 int d 10 十進位制轉二進位制字串 console.writeline convert.tostring d,2 輸出 ...