1. Trang chủ
  2. » Công Nghệ Thông Tin

Đổi số thập phân ra thập lục phân trong C#

5 128 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 318 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 3

string 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 4

0.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 5

Thà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

Ngày đăng: 11/05/2021, 00:06

TỪ KHÓA LIÊN QUAN

w