Find 2s complement of a binary string

Here given code implementation process.

``````/*
Java program
Find 2s complement of a binary string
*/
public class Complement
{
// Find 2s complement
public void find2s(String text)
{
int n = text.length();
int i = 0;
boolean status = true;
String one_s = "";
String two_s = "";
int add_one = 1;
// Find 1s complement
while (i < n)
{
if (text.charAt(i) == '1')
{
one_s = one_s + "0";
}
else
{
one_s = one_s + "1";
}
i++;
}
i = n-1;
while (i>= 0)
{
if (one_s.charAt(i) == '0')
{
if (add_one == 1)
{
two_s = "1" + two_s;
}
else{
two_s = "0" + two_s;
}
}
else
{
if (add_one == 1)
{
two_s = "0" + two_s;
}
else
{
two_s = "1" + two_s;
}
}
i--;
}
if (add_one == 1)
{
two_s = "1" + two_s;
}
// Display given binary text
System.out.print("\n Binary Text : " + text);
// Show 1s Complement
System.out.print("\n 1s Complement : " + one_s);
// Display calculated result
System.out.print("\n 2s Complement : " + two_s);
}
public static void main(String[] args)
{
Complement task = new Complement();

}
}``````

Output

`````` Binary Text : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text : 1000
1s Complement : 0111
2s Complement : 1000``````
``````// Include header file
#include <iostream>
#include <string>
using namespace std;

/*
C++ program
Find 2s complement of a binary string
*/
class Complement
{
public:
// Find 2s complement
void find2s(string text)
{
int n = text.length();
int i = 0;
bool status = true;
string one_s = "";
string two_s = "";
int add_one = 1;
// Find 1s complement
while (i < n)
{
if (text[i] == '1')
{
one_s = one_s + "0";
}
else
{
one_s = one_s + "1";
}
i++;
}
i = n - 1;
while (i >= 0)
{
if (one_s[i] == '0')
{
if (add_one == 1)
{
two_s = "1" + two_s;
}
else
{
two_s = "0" + two_s;
}
}
else
{
if (add_one == 1)
{
two_s = "0" + two_s;
}
else
{
two_s = "1" + two_s;
}
}
i--;
}
if (add_one == 1)
{
two_s = "1" + two_s;
}
// Display given binary text
cout << "\n Binary Text : " << text;
// Show 1s Complement
cout << "\n 1s Complement : " << one_s;
// Display calculated result
cout << "\n 2s Complement : " << two_s;
}
};
int main()
{
Complement task = Complement();
return 0;
}``````

Output

`````` Binary Text : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text : 1000
1s Complement : 0111
2s Complement : 1000``````
``````// Include namespace system
using System;
/*
C# program
Find 2s complement of a binary string
*/
public class Complement
{
// Find 2s complement
public void find2s(String text)
{
int n = text.Length;
int i = 0;
String one_s = "";
String two_s = "";
int add_one = 1;
// Find 1s complement
while (i < n)
{
if (text[i] == '1')
{
one_s = one_s + "0";
}
else
{
one_s = one_s + "1";
}
i++;
}
i = n - 1;
while (i >= 0)
{
if (one_s[i] == '0')
{
if (add_one == 1)
{
two_s = "1" + two_s;
}
else
{
two_s = "0" + two_s;
}
}
else
{
if (add_one == 1)
{
two_s = "0" + two_s;
}
else
{
two_s = "1" + two_s;
}
}
i--;
}
if (add_one == 1)
{
two_s = "1" + two_s;
}
// Display given binary text
Console.Write("\n Binary Text   : " + text);
// Show 1s Complement
Console.Write("\n 1s Complement : " + one_s);
// Display calculated result
Console.Write("\n 2s Complement : " + two_s);
}
public static void Main(String[] args)
{
Complement task = new Complement();
}
}``````

Output

`````` Binary Text   : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text   : 1000
1s Complement : 0111
2s Complement : 1000``````
``````<?php
/*
Php program
Find 2s complement of a binary string
*/
class Complement
{
// Find 2s complement
public	function find2s(\$text)
{
\$n = strlen(\$text);
\$i = 0;
\$one_s = "";
\$two_s = "";
// Find 1s complement
while (\$i < \$n)
{
if (\$text[\$i] == '1')
{
\$one_s = \$one_s ."0";
}
else
{
\$one_s = \$one_s ."1";
}
\$i++;
}
\$i = \$n - 1;
while (\$i >= 0)
{
if (\$one_s[\$i] == '0')
{
if (\$add_one == 1)
{
\$two_s = "1". \$two_s;
}
else
{
\$two_s = "0". \$two_s;
}
}
else
{
if (\$add_one == 1)
{
\$two_s = "0". \$two_s;
}
else
{
\$two_s = "1". \$two_s;
}
}
\$i--;
}
if (\$add_one == 1)
{
\$two_s = "1". \$two_s;
}
// Display given binary text
echo "\n Binary Text   : ". \$text;
// Show 1s Complement
echo "\n 1s Complement : ". \$one_s;
// Display calculated result
echo "\n 2s Complement : ". \$two_s;
}
}

function main()
{
\$task = new Complement();
}
main();``````

Output

`````` Binary Text   : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text   : 1000
1s Complement : 0111
2s Complement : 1000``````
``````/*
Node Js program
Find 2s complement of a binary string
*/
class Complement
{
// Find 2s complement
find2s(text)
{
var n = text.length;
var i = 0;
var one_s = "";
var two_s = "";
var add_one = 1;
// Find 1s complement
while (i < n)
{
if (text.charAt(i) == '1')
{
one_s = one_s + "0";
}
else
{
one_s = one_s + "1";
}
i++;
}
i = n - 1;
while (i >= 0)
{
if (one_s.charAt(i) == '0')
{
if (add_one == 1)
{
two_s = "1" + two_s;
}
else
{
two_s = "0" + two_s;
}
}
else
{
if (add_one == 1)
{
two_s = "0" + two_s;
}
else
{
two_s = "1" + two_s;
}
}
i--;
}
if (add_one == 1)
{
two_s = "1" + two_s;
}
// Display given binary text
process.stdout.write("\n Binary Text   : " + text);
// Show 1s Complement
process.stdout.write("\n 1s Complement : " + one_s);
// Display calculated result
process.stdout.write("\n 2s Complement : " + two_s);
}
}

function main()
{
var task = new Complement();
}
main();``````

Output

`````` Binary Text   : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text   : 1000
1s Complement : 0111
2s Complement : 1000``````
``````#   Python 3 program
#   Find 2s complement of a binary string

class Complement :
#  Find 2s complement
def find2s(self, text) :
n = len(text)
i = 0
one_s = ""
two_s = ""
#  Find 1s complement
while (i < n) :
if (text[i] == '1') :
one_s = one_s + "0"
else :
one_s = one_s + "1"

i += 1

i = n - 1
while (i >= 0) :
if (one_s[i] == '0') :
if (add_one == 1) :
two_s = "1" + two_s
else :
two_s = "0" + two_s

else :
if (add_one == 1) :
two_s = "0" + two_s
else :
two_s = "1" + two_s

i -= 1

if (add_one == 1) :
two_s = "1" + two_s

#  Display given binary text
print("\n Binary Text   : ", text, end = "")
#  Show 1s Complement
print("\n 1s Complement : ", one_s, end = "")
#  Display calculated result
print("\n 2s Complement : ", two_s, end = "")

def main() :

if __name__ == "__main__": main()``````

Output

`````` Binary Text   :  1010100
1s Complement :  0101011
2s Complement :  0101100
Binary Text   :  1000
1s Complement :  0111
2s Complement :  1000``````
``````#   Ruby program
#   Find 2s complement of a binary string

class Complement
#  Find 2s complement
def find2s(text)
n = text.length
i = 0
one_s = ""
two_s = ""
#  Find 1s complement
while (i < n)
if (text[i] == '1')
one_s = one_s +"0"
else
one_s = one_s +"1"
end

i += 1
end

i = n - 1
while (i >= 0)
if (one_s[i] == '0')
if (add_one == 1)
two_s = "1"+ two_s
else
two_s = "0"+ two_s
end

else
if (add_one == 1)
two_s = "0"+ two_s
else
two_s = "1"+ two_s
end

end

i -= 1
end

if (add_one == 1)
two_s = "1"+ two_s
end

#  Display given binary text
print("\n Binary Text   : ", text)
#  Show 1s Complement
print("\n 1s Complement : ", one_s)
#  Display calculated result
print("\n 2s Complement : ", two_s)
end

end

def main()
end

main()``````

Output

`````` Binary Text   : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text   : 1000
1s Complement : 0111
2s Complement : 1000``````
``````/*
Scala program
Find 2s complement of a binary string
*/
class Complement
{
// Find 2s complement
def find2s(text: String): Unit = {
var n: Int = text.length();
var i: Int = 0;
var one_s: String = "";
var two_s: String = "";
var add_one: Int = 1;
// Find 1s complement
while (i < n)
{
if (text.charAt(i) == '1')
{
one_s = one_s + "0";
}
else
{
one_s = one_s + "1";
}
i += 1;
}
i = n - 1;
while (i >= 0)
{
if (one_s.charAt(i) == '0')
{
if (add_one == 1)
{
two_s = "1" + two_s;
}
else
{
two_s = "0" + two_s;
}
}
else
{
if (add_one == 1)
{
two_s = "0" + two_s;
}
else
{
two_s = "1" + two_s;
}
}
i -= 1;
}
if (add_one == 1)
{
two_s = "1" + two_s;
}
// Display given binary text
print("\n Binary Text   : " + text);
// Show 1s Complement
print("\n 1s Complement : " + one_s);
// Display calculated result
print("\n 2s Complement : " + two_s);
}
}
object Main
{
def main(args: Array[String]): Unit = {
var task: Complement = new Complement();
}
}``````

Output

`````` Binary Text   : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text   : 1000
1s Complement : 0111
2s Complement : 1000``````
``````/*
Swift 4 program
Find 2s complement of a binary string
*/
class Complement
{
// Find 2s complement
func find2s(_ t: String)
{
let text = Array(t);
let n: Int = t.count;
var i: Int = 0;
var one_s: String = "";
var two_s: String = "";
var add_one: Int = 1;
// Find 1s complement
while (i < n)
{
if (text[i] == "1")
{
one_s = one_s + "0";
}
else
{
one_s = one_s + "1";
}
i += 1;
}
i = n - 1;
while (i >= 0)
{
if (Array(one_s)[i] == "0")
{
if (add_one == 1)
{
two_s = "1" + two_s;
}
else
{
two_s = "0" + two_s;
}
}
else
{
if (add_one == 1)
{
two_s = "0" + two_s;
}
else
{
two_s = "1" + two_s;
}
}
i -= 1;
}
if (add_one == 1)
{
two_s = "1" + two_s;
}
// Display given binary text
print("\n Binary Text   : ", t, terminator: "");
// Show 1s Complement
print("\n 1s Complement : ", one_s, terminator: "");
// Display calculated result
print("\n 2s Complement : ", two_s, terminator: "");
}
}
func main()
{
let task: Complement = Complement();
}
main();``````

Output

`````` Binary Text   :  1010100
1s Complement :  0101011
2s Complement :  0101100
Binary Text   :  1000
1s Complement :  0111
2s Complement :  1000``````
``````/*
Kotlin program
Find 2s complement of a binary string
*/
class Complement
{
// Find 2s complement
fun find2s(text: String): Unit
{
var n: Int = text.length;
var i: Int = 0;
var one_s: String = "";
var two_s: String = "";
var add_one: Int = 1;
// Find 1s complement
while (i < n)
{
if (text.get(i) == '1')
{
one_s = one_s + "0";
}
else
{
one_s = one_s + "1";
}
i += 1;
}
i = n - 1;
while (i >= 0)
{
if (one_s.get(i) == '0')
{
if (add_one == 1)
{
two_s = "1" + two_s;
}
else
{
two_s = "0" + two_s;
}
}
else
{
if (add_one == 1)
{
two_s = "0" + two_s;
}
else
{
two_s = "1" + two_s;
}
}
i -= 1;
}
if (add_one == 1)
{
two_s = "1" + two_s;
}
// Display given binary text
print("\n Binary Text   : " + text);
// Show 1s Complement
print("\n 1s Complement : " + one_s);
// Display calculated result
print("\n 2s Complement : " + two_s);
}
}
fun main(args: Array < String > ): Unit
{
var task: Complement = Complement();
}``````

Output

`````` Binary Text   : 1010100
1s Complement : 0101011
2s Complement : 0101100
Binary Text   : 1000
1s Complement : 0111
2s Complement : 1000``````

Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.