Guest User

hex_to_bin

a guest
Apr 8th, 2012
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.05 KB | None | 0 0
  1. program hex_to_bin;               {lielais no mazā atšķiras pa 32 vietām}
  2. var h,b: string;
  3. var i,n: integer;
  4. var d: longint;
  5. label back;
  6.  
  7. function hextodec(x:string):longint;
  8. var l,s: longint;
  9. var n,g: integer;
  10. begin
  11. l:=0;
  12. s:=1;
  13. for g:= length(x) downto 1 do
  14.         begin
  15.         l:=l+(ord(x[g])-48)*s;
  16.         s:=s*16;
  17.         end;
  18. hextodec:=l;
  19. end;
  20.  
  21. function dectobin(x:longint):string;
  22. var b,e,f: longint;
  23. var c: string;
  24. begin
  25. b:=0;
  26. f:=0;
  27. while not x<=0 do
  28. begin
  29. inc(b);
  30. e:=( x mod 2)+48;
  31. c[b]:=chr(e);
  32. x:= x div 2;
  33. if(x=0) then break;
  34. end;
  35. for e:= b downto 1 do
  36. begin
  37. write(c[e]);
  38. end;
  39. dectobin:=c;
  40. end;
  41.  
  42.  
  43.  
  44. begin
  45. back:writeln('ievadiet heksidecimālu skaitli- ');
  46. readln(h);
  47. for i:= 1 to length(h) do
  48. begin
  49. if (ord(h[i])>57) and (ord(h[i])<65) then goto back;
  50. if (ord(h[i])>96) and (ord(h[i])<103) then h[i]:=chr(ord(h[i])-32);
  51. if (ord(h[i])>64) and (ord(h[i])<71)
  52. then h[i]:=chr(ord(h[i])-7);
  53. if ((ord(h[i])>47) and (ord(h[i])<65)) then else goto back; end;
  54.  
  55. d:=hextodec(h);
  56. h:=dectobin(d);
  57. readln;
  58. end.
Advertisement
Add Comment
Please, Sign In to add comment