羅列了一些用到的,各進製 以及 ascii 間的轉換,記錄備忘
一,先說說 2,8,10 ,16 各進製之間的轉化
1,convert.toint32(string value, int frombase) :將字串轉換為數字(如2進製0010>也就是2^1=2)
):數字轉化為字串
1.12進製(string)>>>10進製(int)
string strbase2="0101";
int intbase10=convert.toint32(strbase2,2);
結果:5
1.28進製(string)>>>10進製(int)
string strbase8="0101";
int intbase10=convert.toint32(strbase8,8);
結果:65
1.316進製制(string)>>>10進製(int)
string strbase16="0101";
int intbase10=convert.toint32(strbase16,16);
結果:257
1.410進製(int)>>>2進製(string)
int intbase10=9; (大家心算也知道結果為1001)
string strbase2=convert.tostring(intbase10,2);
結果: 1001
1.510進製(int)>>>8進製(string)
//int intbase10=9; (大家結果為11,但是體現不出8進製,換成15結果為》8^1+7)
int intbase10=15;
string strbase8=convert.tostring(intbase10,8);
結果: 17
1.610進製(int)>>>16進製制(string)
//int intbase10=9; (大家結果為9,但是體現不出1進製,好歹弄出個abcd啥的,換成27>>16^1+11(也就是b))
int intbase10=27;
string strbase16=convert.tostring(intbase10,16);
結果: 1b
1.7其他型別的轉換(如2>8,8>16,16>2)
結果: 10101011
例:將乙個16進製制轉化為8進製
結果: 253
ps: 我們知道實際運用中,定義乙個16進製制,並非一定是string的
有這種寫法:int base16 = 0xab; (前面加0x)
這時候參照上例:
我們就可以寫成 int temp=convert.toint32(base16);(到是簡單了不是)
結果還是:253
二: ascii 轉化
2.1ascii字串轉10進製數
string tr = "水";
int ii = (int)convert.tochar(tr));
2.2ascii字串轉16進製制數
string s2 = "靜水"; (漢字雙位元組,也就是4個)
byte ba = (system.text.)asciiencoding.default.getbytes(s2); (預設的是ansi)
foreach (var s in ba)
結果:190
203
2.310進製轉換成ascii字串
int t=97;(對應的是「a」)
string s = ((char)t).tostring();
結果:a
int t=12345678;
string s = ((char)t).tostring();
結果多少?我去,這誰知道...
結果 :慎。。。。。
ps:
參照2.2: 我們得到結果: 190 178 203 174 ,怎麼講這些int型別的轉換為「靜水」
我們通過system.text.encoding.default.getbytes() 得到乙個byte陣列,也可以通過getstring將這個陣列轉換為對應的字元
(當然注意:)
string sss = system.text.encoding.default.getstring(new byte );
sss的結果為「靜」
system.text.encoding.(???), 這裡的???有很多態別(default>>ansi,utf-8,unicode....),按需要就行了
2 8 10 16進製制的轉換
電腦上的常用進製有 2 8 10 16四種,我們有時候需要對他們的表現形式做一些轉換,最基本的我們需要知道 2轉16 4個2進製位為乙個16進製制數,2進製1111為16進製制f,2進製中千位的1 8,百位的1 4,十位的1 2,個位的 1 1,將各個位的數作相應轉換再相加得到的數就是10進製數0 ...
C 資料2 8 10 16進製制之間轉換
留下記號,加強記憶 dotnet平台 十進位制轉二進位制 string str convert.tostring 69,2 十進位制轉八進位制 string str convert.tostring 69,8 十進位制轉十六進製制 string str convert.tostring 69,16 ...
c語言使用庫函式的2 8 10 16進製制轉換
只用於非負整數 include 上個程式是從十進位製到任意進製的轉換,這個程式是二進位制 binary 八進位制 octonary 十進位制 decimalism 十六進製制 hexadecimal include include include include void binary to dec...