Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 24 additions & 27 deletions Conversions/DecimalToHexaDecimal.java
Original file line number Diff line number Diff line change
@@ -1,33 +1,30 @@
import java.lang.StringBuilder;
import java.util.Scanner;

class Test {
private static final int sizeOfIntInHalfBytes = 8;
private static final int numberOfBitsInAHalfByte = 4;
private static final int halfByte = 0x0F;
private static final char[] hexDigits = {
'0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};
class DecimalToHexaDecimal {
private static final int sizeOfIntInHalfBytes = 8;
private static final int numberOfBitsInAHalfByte = 4;
private static final int halfByte = 0x0F;
private static final char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E',
'F' };

public static String decToHex(int dec) {
StringBuilder hexBuilder = new StringBuilder(sizeOfIntInHalfBytes);
hexBuilder.setLength(sizeOfIntInHalfBytes);
for (int i = sizeOfIntInHalfBytes - 1; i >= 0; --i)
{
int j = dec & halfByte;
hexBuilder.setCharAt(i, hexDigits[j]);
dec >>= numberOfBitsInAHalfByte;
}
return hexBuilder.toString();
}
public static String decToHex(int dec) {
StringBuilder hexBuilder = new StringBuilder(sizeOfIntInHalfBytes);
hexBuilder.setLength(sizeOfIntInHalfBytes);
for (int i = sizeOfIntInHalfBytes - 1; i >= 0; --i) {
int j = dec & halfByte;
hexBuilder.setCharAt(i, hexDigits[j]);
dec >>= numberOfBitsInAHalfByte;
}
return hexBuilder.toString();
}

public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Write your Number to convert into HexaDecimal: ")
int dec = 305445566;
String hex = Integer.toHexString(dec);
String hex = decToHex(dec);
System.out.println(hex);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Write your Number to convert into HexaDecimal: ");
int userInputInt = sc.nextInt();
String hex2 = decToHex(userInputInt);
System.out.println(hex2);
}
}
2 changes: 1 addition & 1 deletion Conversions/DecimalToOctal.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* @author Unknown
*
*/
class Decimal_Octal
class DecimalToOctal
{
/**
* Main Method
Expand Down
4 changes: 2 additions & 2 deletions Conversions/HexaDecimalToBinary.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import java.util.Scanner;
import javax.swing.*;

public class HexaToBin {
public class HexaDecimalToBinary {

private final int LONG_BITS = 8;

Expand All @@ -28,7 +28,7 @@ public static void main(String[] args) {
//Testing Numbers:
String[] hexNums = {"1", "A1", "ef", "BA", "AA", "BB",
"19", "01", "02", "03", "04"};
Convert objConvert = new Convert();
HexaDecimalToBinary objConvert = new HexaDecimalToBinary();

for (String num : hexNums) {
objConvert.convert(num);
Expand Down
127 changes: 94 additions & 33 deletions Conversions/OctalToBinary.java
Original file line number Diff line number Diff line change
@@ -1,49 +1,110 @@
package Conversions;

import java.util.Scanner;

/**
* Converts any Octal number to a Binary number
*
* @author Zachary Jones
*
* @author Rohit Agarwal
* @category Base Conversion
* @problem Convert Octal to Binary
*
*/
public class OctalToBinary {

public static void main(String[] args) {

Scanner input = null;
try {
input = new Scanner(System.in);
System.out.println("Enter octal number : ");
String number = input.next();

if (isOctalNumber(number)) {
String binary = getBinaryFromOctalNumber(number);
System.out.println("Binary Number : " + binary);
} else {
System.out.println("Please enter valid octal number.");
}

} finally {
if (input != null) {
input.close();
}
}

}

/**
* Main method
*
* @param args Command line arguments
* Converts a String to binary
* @param number String number (Octal)
* @return binary String
*/
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int o = sc.nextInt();
System.out.println("Binary equivalent: " + convertOctalToBinary(o));
sc.close();
private static String getBinaryFromOctalNumber(String number) {

// Convert Octal to Decimal
int decimal = getDecimalFromOctalNumber(number);
// Convert Decimal to Binary
String binary = getBinaryFromDecimalNumber(decimal);
return binary;
}

/**
* This method converts an octal number
* to a binary number.
*
* @param o The octal number
* @return The binary number
* Converts a Decimal to binary
* @param decimal
* @return binary String
*/
public static int convertOctalToBinary(int o) {
Scanner scan;
int num;

void getVal() {

System.out.println("Octal to Binary");
scan = new Scanner(System.in);
// Entering the needed number
System.out.println("\nEnter the number : ");
num = Integer.parseInt(scan.nextLine(), 8);
private static String getBinaryFromDecimalNumber(int decimal) {

int remainder = 0;
StringBuilder binary = new StringBuilder();
while (decimal != 0) {
remainder = decimal % 2;
// Converting Integer to String and adding into StringBuilder.
binary.append(String.valueOf(remainder));
decimal = decimal / 2;
}

void convert() {

String binary = Integer.toBinaryString(num);
System.out.println("Binary Value is : " + binary);

// Reverse String using library function of StringBuilder class.
return binary.reverse().toString();
}

/**
* Converts Octal to Decimal
* @param number
* @return sum
*/
private static int getDecimalFromOctalNumber(String number) {

// Converting String to StringBuilder.
StringBuilder string = new StringBuilder(number);
string = string.reverse();
int length = string.length();
int digit, power, sum = 0;
for (int i = 0; i < length; i++) {
digit = string.charAt(i) - 48;
power = (int) Math.pow(8, i);
sum = sum + digit * power;
}
return sum;
}

/**
* Checks that the String contains digits 0-7
* @param number Input string
* @return result
*/
private static boolean isOctalNumber(String number) {

/*
* Regular expression that matches string containing only octal
* digits[0-7].
*/
String pattern = "^[0-7]+$";
boolean result = false;
if (number.matches(pattern)) {
result = true;
}
return result;
}

}
Loading