Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# Binary calculation

Posted on 2004-08-06
Medium Priority
499 Views
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 :

0
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
• 3
• 2
• 2
• +1

LVL 17

Expert Comment

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

ID: 11734502
Have a look at TXSHexBinary

in the help files
0

Author Comment

ID: 11734599
thank you ...
and i wish if someone could write out this program.
0

LVL 11

Expert Comment

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

Molando earned 2000 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

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

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

finalnumber := NumToBin( whatever you want here);
0

LVL 11

Expert Comment

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

ID: 11896085
Thank you . i solve it .
0

## Featured Post

Question has a verified solution.

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

In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
###### Suggested Courses
Course of the Month11 days, 20 hours left to enroll