C 中資料進製轉換

2022-02-07 09:25:57 字數 1310 閱讀 1698

一、 十進位制資料轉換為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...