一、 十進位制資料轉換為n進製資料
十進位制資料value,可以用如下公式表示為n精緻的資料。value = xn * math.pow(item, n) + xn-1 * math.pow(item, n-1) + .. + x2 * math.pow(item, 1) + x1 * math.pow(itm, 0) ;
其中xn的範圍為(0
<= xn < item),n的範圍為(n>=2);
有上,我們可以得到十進位制資料轉換為item進製的資料的演算法如下:
loop
if (value >= item)
第i位置的數值 = value % item;
value = value / item;
end if;
else
第i位置的數值 = value;
end if;
i++;
end loop;
故十進位制的資料轉換為n進製的資料,**實現如下(注意:item不要超過16進製制,除非你自己修改func中的方法)
//////
10進製轉為item進製
//////
//////
protected
string pares10toitem(double value, double item)
else
s = (this.func((int)pos)) + s;
i++;
} while (value > 0);
return s;
}///
///獲取item進製資料的各個位置上的數值
//////
///protected
string func(int s)
case
10:case
11:case
12:case
13:case
14:case
15:default:
}return result;
}
二、 n進製資料轉換為十進位制資料
這個就太簡單了,利用迴圈遍歷value各個位置的資料xn,用xn*math(n, n-1)的累計求和。即可。
三、非十進位制資料之間的轉換:
這個我們可以分兩步來做:第一步將value_x轉換為十進位制資料velue_10;第二步將value_10轉換為value_n進製資料即可
C 進製轉換
十進位制轉二進位制 console.writeline 十進位制166的二進位制表示 convert.tostring 166,2 十進位制轉八進位制 console.writeline 十進位制166的八進位制表示 convert.tostring 166,8 十進位制轉十六進製制 console...
C 進製轉換
由於二進位制數在c 中無法直接表示,所以所有二進位制數都用乙個字串來表示 例如 二進位制 1010 表示為 字串 1010 int d 10 十進位制轉二進位制字串 console.writeline convert.tostring d,2 輸出 1010 十進位制轉十六進製制字串 console...
C 進製轉換
將二進位制轉換成十進位制 public int converttoint string str 將二進位制轉換成八進位制 public string convertto8 string bin 將二進位制轉換成十六進製制 public string convertto16 string bin co...