tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
28
Task/Binary-digits/Ada/binary-digits.ada
Normal file
28
Task/Binary-digits/Ada/binary-digits.ada
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
with Ada.Text_IO;
|
||||
|
||||
procedure Binary_Output is
|
||||
|
||||
package IIO is new Ada.Text_IO.Integer_IO(Integer);
|
||||
|
||||
function To_Binary(N: Natural) return String is
|
||||
S: String(1 .. 1000); -- more than plenty!
|
||||
Left: Positive := S'First;
|
||||
Right: Positive := S'Last;
|
||||
begin
|
||||
IIO.Put(To => S, Item => N, Base => 2); -- This is the conversion!
|
||||
-- Now S is a String with many spaces and some "2#...#" somewhere.
|
||||
-- We only need the "..." part without spaces or base markers.
|
||||
while S(Left) /= '#' loop
|
||||
Left := Left + 1;
|
||||
end loop;
|
||||
while S(Right) /= '#' loop
|
||||
Right := Right - 1;
|
||||
end loop;
|
||||
return S(Left+1 .. Right-1);
|
||||
end To_Binary;
|
||||
|
||||
begin
|
||||
Ada.Text_IO.Put_Line(To_Binary(5)); -- 101
|
||||
Ada.Text_IO.Put_Line(To_Binary(50)); -- 110010
|
||||
Ada.Text_IO.Put_Line(To_Binary(9000)); -- 10001100101000
|
||||
end Binary_Output;
|
||||
Loading…
Add table
Add a link
Reference in a new issue