Học thêm trong môn số học về cách đổi hệ thống số từ hệ 10 sang hệ n. Từ hệ 10 sang hệ n chỉ cần đệ quy là đủ, từ hệ n sang hệ 10 thì cũng chỉ cần for để nhân dồn. Trong forum có rất nhiều bài viết về chuyển đổi giữa nhị phân và thập phân, bạn xem và áp dụng tương tự.
Trang 1Đổi số thập phân ra thập lục phân trong C#
Làm thế nào để đổi ạ ? Dành cho amateur thôi, với cấu trúc lặp FOR là chủ yếu Và cũng dùng cấu trúc trên để đổi số thập phân ra số nhị phân.Ai biết xin hướng dẫn giúp em Thanks!
#2
16-01-2008, 09:54 PM
huynguyen XCoworker Member
Ngày gia nhập: 11 2006 Bài viết: 979
Học thêm trong môn số học về cách đổi hệ thống số từ hệ 10 sang hệ n
Từ hệ 10 sang hệ n chỉ cần đệ quy là đủ, từ hệ n sang hệ 10 thì cũng chỉ cần for để nhân dồn
Trong forum có rất nhiều bài viết về chuyển đổi giữa nhị phân và thập phân, bạn xem
và áp dụng tương tự
#3
17-01-2008, 09:11 AM
sunflower
Thành viên nhiệt tình
Ngày gia nhập: 06 2007 Nơi ở: TP.HCM
Bài viết: 171
Cứ dùng đệ quy như đoạn code sau:
(không có thời gian để trình bày cho đẹp, dựa vào đó mà trình bày lại)
Code:
class Program
{
static private string soHex;
static void Main(string[] args)
Trang 2{
Console.WriteLine("Nhap so: ");
string s = Console.ReadLine();
int i = int.Parse(s);
DtoH(i);
Console.WriteLine(soHex);
Console.ReadLine();
}
static private void DtoH(int d)
{
int r = d % 16;
if (d - r == 0)
{
string c= toChar(r);
soHex += c;
}
else
{
soHex += toChar(r);
DtoH((d - r) / 16);
}
}
static string toChar(int r)
{
string s = "123456789ABCDEF";
char[] c = s.ToCharArray();
return c[r - 1].ToString();
}
}
Tìm hiểu thêm ở đây
Gác Kiếm
#4
17-01-2008, 10:30 AM
Xcross87
[Cviet] Tech Supporter
Ngày gia nhập: 09 2006 Nơi ở: /usr/share/.hack@ Bài viết: 2,148
Code:
Trang 3string decimalNumber = "32768";
int number = int.Parse(decimalNumber);
string hex = number.ToString("x");
cviet.tech_support
#5
17-01-2008, 09:08 PM
Kevin Hoang
Founder & Administrator
Ngày gia nhập: 07 2006 Nơi ở: Hà Nội
Bài viết: 2,022
Dr thấy là cái Parse nó không phân tích được một số kiểu floating point Cả 2 code của sunflower và Xcross87 đều chỉ đúng với số nguyên thôi
Dr cũng không có biết cách nào ngoài cách là tự xây dựng hàm để chuyển đổi Về cách chuyển đổi thì không có gì khó
Cần tách số cần chuyển ra thành phần nguyên và phần thập phân
Theo Dr bạn nên xây dựng 2 hàm riêng lẻ Để cho code nó sáng sủa hơn
Phần nguyên thì có thể dùng code của Pete cho ngắn gọn Hoặc là sử dụng phương pháp chia lấy dư, cách này dễ và nhiều người biết nên Dr không giới thiệu
Còn phần thập phân thì Dr có ngồi viết cho bạn cái bảng sau Bạn nhìn vào chắc chắn sẽ làm được
Code:
0.01*2=0.02 <1 =>0.0
0.02*2=0.04 <1 =>0.00
0.04*2=0.08 <1 =>0.000
0.08*2=0.16 <1 =>0.0000
0.16*2=0.32 <1 =>0.00000
0.32*2=0.64 <1 =>0.000000
0.64*2=1.28 >1 =>0.0000001
0.28*2=0.56 <1 =>0.00000010
0.56*2=1.12 >1 =>0.000000101
0.12*2=0.24 <1 =>0.0000001010
0.24*2=0.48 <1 =>0.00000010100
0.48*2=0.96 <1 =>0.000000101000
0.96*2=1.92 >1 =>0.0000001010001
0.92*2=1.84 >1 =>0.00000010100011
0.84*2=1.68 >1 =>0.000000101000111
0.68*2=1.36 >1 =>0.0000001010001111
0.36*2=0.72 <1 =>0.00000010100011110
0.72*2=1.44 >1 =>0.000000101000111101
0.44*2=0.88 <1 =>0.0000001010001111010
Trang 40.88*2=1.76 >1 =>0.00000010100011110101
0.76*2=1.52 >1 =>0.000000101000111101011
0.52*2=1.04 >1 =>0.0000001010001111010111
0.04*2=0.08 <1 =>0.00000010100011110101110
Sau đó kết quả chuyển đổi sẽ là ghép 2 kế quả của chuyển đổi phần nguyên và phần thập phân
Email: admin @congdongcviet.com
Phone: 0972 89 7667 (Office: 04 667 00248)
Yahoo & Skype: dreaminess_world
Trình bày code chuyên nghiệp với code tag nâng cao Click để xem chi tiết
#6
26-01-2008, 09:45 AM
jetli88
Thành viên chính thức
Ngày gia nhập: 01 2008 Bài viết: 41
ủa, vậy làm sao xuất ra được dạng 0xXX, VD: 0x02,0x04 từ các số thập phân
#7
26-01-2008, 10:01 AM
nhc1987 XCoworker Member
Ngày gia nhập: 10 2007 Nơi ở: HCMUNS
Bài viết: 654
Bạn nghiên cứu method ToString(format) của obj bạn cần chuyển
Ví dụ đổi sang dạng hex 4 chữ số thì number.ToString("x4");
Keep moving forward!
Retired
#8
26-01-2008, 11:26 PM
Trang 5Thành viên chính thức
Ngày gia nhập: 01 2008 Bài viết: 41
cám ơn nha! trong C# có những cái có sẵn mà mình không hề biết, lại fải ngồi code fải học hỏi mấy bạn nhiều thoi
#9
13-01-2011, 05:50 PM
khanhnd88
Thành viên mới
Ngày gia nhập: 12 2010 Bài viết: 20
Vậy nếu muốn chuyển từ Hex thành Dec thì phải làm sao mấy bác