Đổi s thp phân ra thp lc phân trong C#
Làm thế nào để đổi ? Dành cho amateur thôi, vi cu trúc lp FOR là ch yếu..Và cũng dùng
cu trúc trên để đổi s thp phân ra s nh phân.Ai biết xin hướng dn giúp em. Thanks!
#2
16-01-2008, 09:54 PM
huynguyen
XCoworker Member
Ngày gia nhp: 11 2006
Bài viết: 979
Hc thêm trong môn s hc v cách đổi h thng s t h 10 sang h n.
T h 10 sang h n ch cn đệ quy là đ, t h n sang h 10 thì cũng ch cn for để nhân dn.
Trong forum có rt nhiu bài viết v chuyn đổi gia nh phân và thp phân, bn xem và áp dng
tương t.
__________________
#3
17-01-2008, 09:11 AM
sunflower
Thành viên nhit tình
Ngày gia nhp: 06 2007
Nơi : TP.HCM
Bài viết: 171
C dùng đệ quy như đon code sau:
(không có thi gian để trình bày cho đẹp, da vào đó mà trình bày li)
Code:
class Program
{
static private string soHex;
static void Main(string[] args)
{
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 hiu thêm đây
__________________
Gác Kiếm
#4
17-01-2008, 10:30 AM
Xcross87
[Cviet] Tech Supporter
Ngày gia nhp: 09 2006
Nơi : /usr/share/.hack@
Bài viết: 2,148
Code:
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 nhp: 07 2006
Nơi : Hà Ni
Bài viết: 2,022
Dr thy là cái Parse nó không phân tích được mt s kiu floating point. C 2 code ca sunflower
và Xcross87 đều ch đúng vi 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 dng hàm để chuyn đổi. V cách chuyn
đổi thì không có gì khó.
Cn tách s cn chuyn ra thành phn nguyên và phn thp phân.
Theo Dr bn nên xây dng 2 hàm riêng l. Để cho code nó sáng sa hơn.
Phn nguyên thì có th dùng code ca Pete cho ngn gn. Hoc là s dng phương pháp chia
ly dư, cách này d và nhiu người biết nên Dr không gii thiu.
Còn phn thp phân thì Dr có ngi viết cho bn cái bng sau. Bn nhìn vào chc chn 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
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 chuyn đi s là ghép 2 kế qu ca chuyn đổi phn nguyên và phn thp 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 nghip vi code tag nâng cao. Click để xem chi tiết...
#6
26-01-2008, 09:45 AM
jetli88
Thành viên chính thc
Ngày gia nhp: 01 2008
Bài viết: 41
a, vy làm sao xut ra được dng 0xXX, VD: 0x02,0x04....t các s thp phân.
#7
26-01-2008, 10:01 AM
nhc1987
XCoworker Member
Ngày gia nhp: 10 2007
Nơi : HCMUNS
Bài viết: 654
Bn nghiên cu method .ToString(format) ca obj bn cn chuyn
Ví d đổi sang dng hex 4 ch s thì number.ToString("x4");
__________________ Keep moving forward!
... Retired ...
#8
26-01-2008, 11:26 PM
jetli88
Thành viên chính thc
Ngày gia nhp: 01 2008
Bài viết: 41
cám ơn nha! trong C# có nhng cái có sn mà mình không h biết, li fi ngi code. fi hc hi
my bn nhiu thoi.
#9
13-01-2011, 05:50 PM
khanhnd88
Thành viên mi
Ngày gia nhp: 12 2010
Bài viết: 20
Vy nếu mun chuyn t Hex thành Dec thì phi làm sao my bác