Program to Convert Hexadecimal to Octal
- Write a program to Convert Hexadecimal to Octal in C
- Write a program to Convert Hexadecimal to Octal in C++
- Write a program to Convert Hexadecimal to Octal in Python
- Write a program to Convert Hexadecimal to Octal in PHP
- Write a program to Convert Hexadecimal to Octal in Java
- Write a program to Convert Hexadecimal to Octal in Java Script
- Write a program to Convert Hexadecimal to Octal in C#
Explanation:
- Convert Hexadecimal to Binary:
- Each hexadecimal digit corresponds to a 4-bit binary equivalent. Use a lookup table to convert each hexadecimal digit into binary.
- Group Binary into 3-bit Blocks:
- Octal uses 3-bit groups. Group the binary digits into sets of 3, starting from the right. Add leading zeros if the number of binary digits is not a multiple of 3.
- Convert Each 3-bit Group to Octal:
- Each 3-bit binary group corresponds to a single octal digit. Use a lookup table or direct conversion logic to find the octal value for each group.
Example Conversion:
Hexadecimal: 2F
- Convert Hexadecimal to Binary:
- 2 → 0010
- F → 1111
- Combined Binary: 00101111
- Group Binary into 3-bit Blocks:
- From right to left: 00101111 → 000 101 111(add leading zeros if necessary).
- Convert Each 3-bit Group to Octal:
- 000 → 0
- 101 → 5
- 111 → 7
Resulting Octal: 057
Program to Convert Hexadecimal to Octal
-
C
-
C++
-
Python
-
PHP
-
JAVA
-
Java Script
-
C#
#include <stdio.h> #include <math.h> int hexToDecimal(char hex[]) { int decimal = 0, base = 1; for (int i = strlen(hex) - 1; i >= 0; i--) { if (hex[i] >= '0' && hex[i] <= '9') { decimal += (hex[i] - 48) * base; } else if (hex[i] >= 'A' && hex[i] <= 'F') { decimal += (hex[i] - 55) * base; } else if (hex[i] >= 'a' && hex[i] <= 'f') { decimal += (hex[i] - 87) * base; } base *= 16; } return decimal; } void decimalToOctal(int decimal) { int octal[32], i = 0; while (decimal > 0) { octal[i++] = decimal % 8; decimal /= 8; } printf("Octal: "); for (int j = i - 1; j >= 0; j--) { printf("%d", octal[j]); } printf("\n"); } int main() { char hex[100]; printf("Enter a hexadecimal number: "); scanf("%s", hex); int decimal = hexToDecimal(hex); decimalToOctal(decimal); return 0; }
#include <iostream> #include <string> #include <cmath> using namespace std; int hexToDecimal(string hex) { int decimal = 0, base = 1; for (int i = hex.length() - 1; i >= 0; i--) { if (hex[i] >= '0' && hex[i] <= '9') { decimal += (hex[i] - '0') * base; } else if (hex[i] >= 'A' && hex[i] <= 'F') { decimal += (hex[i] - 'A' + 10) * base; } else if (hex[i] >= 'a' && hex[i] <= 'f') { decimal += (hex[i] - 'a' + 10) * base; } base *= 16; } return decimal; } void decimalToOctal(int decimal) { string octal = ""; while (decimal > 0) { octal = to_string(decimal % 8) + octal; decimal /= 8; } cout << "Octal: " << octal << endl; } int main() { string hex; cout << "Enter a hexadecimal number: "; cin >> hex; int decimal = hexToDecimal(hex); decimalToOctal(decimal); return 0; }
def hex_to_octal(hexadecimal): decimal = int(hexadecimal, 16) return oct(decimal).replace("0o", "") hexadecimal = input("Enter a hexadecimal number: ") print("Octal:", hex_to_octal(hexadecimal))
<?php function hexToOctal($hex) { $decimal = hexdec($hex); return decoct($decimal); } $hex = readline("Enter a hexadecimal number: "); echo "Octal: " . hexToOctal($hex) . "\n"; ?>
<div class="contain-inline-size rounded-md border-[0.5px] border-token-border-medium relative bg-token-sidebar-surface-primary dark:bg-gray-950"><div class="overflow-y-auto p-4" dir="ltr"><code class="!whitespace-pre hljs language-java">import java.util.Scanner; public class HexadecimalToOctal { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("Enter a hexadecimal number: "); String hex = sc.nextLine(); int decimal = Integer.parseInt(hex, 16); String octal = Integer.toOctalString(decimal); System.out.println("Octal: " + octal); } }
function hexToOctal(hex) { const decimal = parseInt(hex, 16); return decimal.toString(8); } const hex = prompt("Enter a hexadecimal number: "); console.log("Octal:", hexToOctal(hex));
using System; class HexadecimalToOctal { static void Main() { Console.Write("Enter a hexadecimal number: "); string hex = Console.ReadLine(); int decimalValue = Convert.ToInt32(hex, 16); string octal = Convert.ToString(decimalValue, 8); Console.WriteLine("Octal: " + octal); } }