Solved

Binary calculation

Posted on 2004-08-06
11
495 Views
Last Modified: 2010-04-05
i want to make console application to calculate binary number for example :
my program will ask for number input like 1010001101 and save it in D.
then it will ask for another number and save it in (P) and this ( P) must be shorter than D at least with on character like 101000110 .
then new character( N ) = Number of  (D)  + number of (p) - 1 .

N= 10 + 6 -1 = 5

after that we will add Zeros after  (D) to become  101000110100000 then we divide it .

please see the picture here :


http://www.arabsgate.com/edu/vb/images/uploads/26394_27164110ac4e48993.JPG
0
Comment
Question by:topkah
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1
11 Comments
 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 11734329
I don't get your problem. But doesn't Delphi has a IntToBin and BinToInt function in the Math unit? Otherwise, it's not that hard to convert a binary to an integer anyway.
0
 
LVL 11

Expert Comment

by:Jase-Coder
ID: 11734502
Have a look at TXSHexBinary

in the help files
0
 

Author Comment

by:topkah
ID: 11734599
thank you ...
and i wish if someone could write out this program.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 11

Expert Comment

by:Jase-Coder
ID: 11735162
Have a atrmpt at writing the program and where you get stuck post the problems and we'll help.
There is no point in one of us writing out the source code; you'll learn more by attempting it your self
0
 
LVL 2

Accepted Solution

by:
Molando earned 500 total points
ID: 11737066
//turns a number to a binary string
function numtobin(v : longint) : string;
var
 t,d : longint;
 firstbitfound : boolean;
begin
 t := v;
 d := 1073741824;
 result := '';
 firstbitfound := false;
 while d > 0 do
   if t >= d then begin
     result := result + '1';
     t := t - d;
     d := d div 2;
     firstbitfound := true;
     end else begin
       if firstbitfound then result := result + '0';
       d := d div 2;
       end;
end;

//turns a binary string to a number
function bintonum(s : string) : longint;
var
  cnt : integer;
  t : longint;
begin
  result := 0;
  t := 1;
  for cnt := length(s) downto 1 do begin
    if s[cnt] = '1' then result := result + t;
    t := t*2;
    end;
end;

example
edit1.Text := numtobin(  bintonum('1001010') + bintonum('010101') + 1 );
0
 
LVL 2

Expert Comment

by:Molando
ID: 11737153
if you want the final string a set length then:
  finalnumber : string;
  padsize : string;

   padsize := '0000000000' ; //add the number of zeros you want as the total length

   finalnumber := NumToBin( whatever you want here);
   finalnumber := copy(PadSize + finalnumber,length(PadSize + finalnumber)-length(padsize-1),padsize);
0
 
LVL 11

Expert Comment

by:Jase-Coder
ID: 11737985
Hi topkah,
I just wanted to say I have created a program that converts ascii chars into binary strings. I have the code posted on planet-source-code and the link to the source is:

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=884&lngWId=7
0
 

Author Comment

by:topkah
ID: 11896085
Thank you . i solve it .
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
NetCrunch network monitor is a highly extensive platform for network monitoring and alert generation. In this video you'll see a live demo of NetCrunch with most notable features explained in a walk-through manner. You'll also get to know the philos…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

691 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question