Signed and Unsigned Decimal to Binary number
It explains how to converts a number from decimal number (base 10) to binary numbers (base 2). The decimal value can be a unsigned (positive) or a signed (negative) decimal numbers. The binary operation, 2's complements used in conversion signed decimal value to binary.
signed/unsigned decimal to Binary Conversion - algorithm
- Initialize binary-bits array
- Read a decimal-value (positive or negative)
- value2 = abs(decimal-value)
- binary-bits = converts value2 into binary
- IF decimal-value >= 0
- print binary-bits
- ELSE binary-bits_2'sc = take 2's_complement on binary-bits
- print binary-bits_2'sc
unsigned decimal to Binary Conversion - example
The given positive decimal value is decval=5; converts into binary 4 bits decimal to binary 4 bit conversion steps 1. bits = decval % 2; 2. decval = decval/2 bits[4] = 5 % 2 = 1; decval = 5/2 = 2 bits[3] = 2 % 2 = 0; decval = 2/2 = 1 bits[2] = 1 % 2 = 1; decval = 1/2 = 0 bits[1] = 0 % 2 = 0; decval = 1/2 = 0 IF the decimal value is positive , no need 2's complement operation then conversion result is binary bits = 0101
signed decimal to Binary Conversion - example
The given negative decimal value is decval=-5; converts into binary 4 bits decimal to binary 4 bit conversion steps 1. take abs(decval) 2. bits = decval % 2; 3. decval = decval/2 decval=abs(decval) =5 from above positive decimal to binary conversion bits[1-4] = 0101 IF the given decimal value is negative, then takes 2's complement operation on converted binary bits 2's complement on binary bits steps 1. take 1's complement 2. binary addition - add 1 with 1's complement result Decimal to binary conversion results bits = 0101 1's complement on bits 0101 = 1010 add 1 with 1's complement results 1010 0001 ------- 2's complement = 1011 signed decimal value -5 binary bits is =1011
signed/unsigned Decimal To Binary Conversion - Java program
The Java program converts positive or negative decimal into binary numbers. For simplification. It is limited to binary 4 bits conversion. therefore, a decimal positive value must be between [0 to 8] and negative value between [-1 to -7].
import java.util.Scanner;
public class SignDecimal
{
public static String int2binary(int decval)
{
StringBuffer sbuf =new StringBuffer();
int nbits=4;
for(int n=0;n<nbits;n++)
{
sbuf.append( decval % 2 ) ;
decval = decval /2;
}
return sbuf.reverse().toString();
}
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("signed and unsigned decimal to Binary Conversion");
System.out.println("Enter Integer between [-7 to 8] ");
int val=sc.nextInt();
sc.close();
String binary="";
if ( val < 0 )
{
int val2 = Math.abs(val);
binary=SignDecimal.int2binary(val2);
binary=Complement.twos(binary);
}
else
{
binary=SignDecimal.int2binary(val);
}
System.out.println("Integer value :" + val);
System.out.println("Binary Bits : " + binary);
}
}
signed & unsigned Decimal To Binary Conversion - Java program output
signed & unsigned decimal to Binary Conversion Enter Integer between [-7 to 8] -6 Integer value :-6 Binary Bits : 1010 signed & unsigned decimal to Binary Conversion Enter Integer between [-7 to 8] 6 Integer value :6 Binary Bits : 0110
Comments
Post a Comment