- Ebook Giải thuật và lập trình Lê Minh Hoàng
- Các thuật toán sắp xếp trong Pascal

Đổi từ hệ 10 sang hệ 2 (hệ thập phân sang nhị phân)



Nguyên tắc của phương pháp chuyển đổi từ hệ cơ số 10 sang hệ cơ số 2 là lấy số cần chuyển đổi chia cho 2 (kết quả chỉ lấy phần nguyên), sau đó tiếp tục lấy kết quả chia 2 (và cũng chỉ lấy phần nguyên), kết quả số nhị phân thu được là tập hợp các số dư của các phép chia.

Program Doi_thap_phan_ra_nhi_phan;
Var
 He10,N,Y:Word;
   He2,Tam:String;
Begin
 Writeln('DOI SO TU HE THAP PHAN SANG HE NHI PHAN');
   Writeln('         -----------------');
   Writeln;
   Write('-Nhap so nguyen he thap phan: ');
   Readln(He10);
   N:=He10;
   He2:=' ';
   Repeat
    Y:=He10 Mod 2;
      Str(Y, Tam);
      He2:=Tam + He2;
      He10:= He10 Div 2;
   Until He10 = 0;
   Writeln;
   Writeln('+So he 10 la     : ',N);
   Writeln('+Doi sang he 2 la: ',He2);
   Writeln;
   Writeln('      Bam phim <Enter> de ket thuc');
   Readln
End.


Unknown nói...

Bạn có thể làm giúp mình bài nhập vào một dãy số thuộc hệ nhị phân, sau đó chuyển sang hệ thập phân


lúc 21:08 22 tháng 11, 2012
Nặc danh nói...

Mình đang cần chương trình đổi nhịp phân sang Hecxa, mà chưa biết ý tưởng giải như thế nào?


lúc 00:05 21 tháng 9, 2013
Nặc danh nói...

Tốt nhưng chưa hay


lúc 18:17 8 tháng 11, 2013
Quê hương ngày mới nói...

Var i,k,n: integer;
m: array[1..100] of integer;
Begin
clrscr;
write('Nhap so tu nhien can doi, n = ');readln(n);
write('So ',n,' doi sang he nhi phan la so: ',1);
i:=1;
Repeat
m[i]:= n mod 2;
n: n div 2;
i:= i + 1;
Until n =1;
For k:= i-1 downto 1 do write(m[k]);
write('.');
readln
End.


lúc 23:31 21 tháng 11, 2014
hogkan nói...

tam là biến khai thôi


lúc 00:40 13 tháng 4, 2016
gia hạc nói...

Down to có tác dụng gì vậy bạn


lúc 17:22 19 tháng 6, 2016
Unknown nói...

down to la nguoc lai voi to
VD: For i:=1 TO n do ( i Chay tu 1 toi n)
For i:=n down to 1 ( i chay tu n nguoc lai 1)


lúc 17:03 31 tháng 7, 2016
Unknown nói...

Var s: string;
x, y, kq, i: LongInt;

function luythua(n: byte): Longint;
Var p, i: Longint;
Begin
p:=1;
for i:=1 to n do p:=2*p; // tinh luy thua 2 ^ n
luythua:=p;
End;

Begin
write('Nhap so he 2 = '); readln(s); // nhap xau nhi phan
x:=length(s); //do dai xau nhi phan
for i:=1 to x do
Begin
val(s[i], y); // doi xau s[i] thanh so y chi 2 gia tri 0 hoac 1
kq:=kq+y*luythua(x-1);
End;
write('So he 10 la = ', kq);
Readln;
End.


lúc 15:19 23 tháng 7, 2017
Unknown nói...

Có thể dùng while do dk ko


lúc 09:12 3 tháng 9, 2017
Unknown nói...

dùng while hay hơn bạn ơi


lúc 14:11 8 tháng 3, 2018
SPyofgame nói...

Theo tui
Uses Crt;
Var n : longint;
Begin
Readln(n);
Repeat
Write(n mod 2);
n:=n div 2;
Until n = 0;
Readln;
End.


lúc 20:45 1 tháng 10, 2018
Unknown nói...

Đây là từ hệ nhị phân ra thập phân phải k bạn


lúc 19:59 28 tháng 7, 2019
Unknown nói...

sao lại dùng word:
Var
He10,N,Y:Word;


lúc 14:42 28 tháng 10, 2019

Đăng nhận xét

Thành viên Blog

Tổng số lượt xem trang

Translate

Return to top of page Copyright © 2012 | Theme by Hack Tutors. Cung cấp bởi Blogger.
Các code pascal trong blog được sưu tầm, lựa chọn sao cho tối ưu nhất. Cảm ơn các tác giả đã viết thuật toán.