Chuyển số hệ thập phân sang nhị phân trong Pascal

Viết chương trình nhập vào một số nguyên hệ thập phân và chuyển số đó sang xâu hệ nhị phân

Nguyên tắc của phương pháp này 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.

Ví dụ : Chuyển số 30 sang hệ nhị phân

Đầu tiên (ở dòng 1), chúng ta lấy 30 chia 2, kết quả được 15 và số dư là 0.Kế tiếp (ở dòng 2), chúng ta lấy số 15 chia 2, kết quả được 7 và số dư là 1Tiếp theo ở dòng 3, ta lấy số 7 chia 2, kết quả được 3 và dư 1Ta tiếp tục lặp lại quá trình này cho đến khi kết quả chia 2 chúng ta được 0.Số nhị phân chúng ta thu được chính là tập hợp các số dư của các phép chia (lấy từ dưới lên).Số 30 trong hệ nhị phân sẽ là 11110

 

– Nếu n =0 hoặc n=1 thì chuỗi S tương ứng là 0, 1Ngược lại- Lặp lại quá trình chia cho 2 như trên (sử dụng, Mod và div) và ghi kết quả vào xâu S

Cách 1

var n:longint; f:text;
{------- chuong trinh con tinh luy thua -------}

function NP(n:longint):string;
var du:longint;s,tem:string;

begin
  tem:='';s:='';

  if (n=0) or(n=1) then str(n,s)
  else
  while n<>0 do
    begin
       du:=n mod 2;
       n:=n div 2;
       str(du,tem);
       s:=tem+s;
    end;
  NP:=s;
end;

{----Than chuong trinh chinh ------}
begin
{----Doc file ----}
    assign(f,'TP_to_NP.inp'); reset(f);
    read(f,n);close(f);
{----Mo file de ghi----}
    assign(f,'TP_to_NP.out'); rewrite(f);

    write(f,NP(n));

close(f);
end.

Cách 2

Program Thap_Phan_Sang_Nhi_Phan;
Uses Crt;
Var	d:array[1..20] of byte;
i,j,n:integer;

Begin
Clrscr;
Writeln('DOI SO THAP PHAN SANG NHI PHAN:');
Write('Nhap so thap phan la n='); Readln(n);
i:=1; Repeat
d[i]:=n mod 2; n:=n div 2; i:=i+1;
Until(n=0);
Write('So nhi phan la:'); For j:=i-1 downto 1 do Write (d[j]);

Readln;

End.

 

Read:   File Word đề thi HKI Toán 6 Quận Tây Hồ - Năm học 2022 - 2023
Hình đại diện của người dùng

admin

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *