Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- // Fungsi untuk mengonversi empat bit biner ke karakter heksadesimal
- char binaryToHex(char* binary) {
- int decimal = strtol(binary, NULL, 2);
- if (decimal >= 0 && decimal <= 9) {
- return '0' + decimal;
- } else if (decimal >= 10 && decimal <= 15) {
- return 'A' + (decimal - 10);
- } else {
- return '\0'; // Mengembalikan karakter nol jika konversi tidak valid
- }
- }
- // Fungsi untuk mengonversi bilangan biner ke heksadesimal
- void binaryToHexadecimal(const char* binaryString) {
- printf("Binary: %s\nHexadecimal: ", binaryString);
- // Menambahkan padding nol jika panjang biner tidak kelipatan 4
- int padding = 4 - (strlen(binaryString) % 4);
- char paddedBinary[256];
- strcpy(paddedBinary, binaryString);
- for (int i = 0; i < padding; i++) {
- strcat(paddedBinary, "0");
- }
- // Mengonversi setiap blok empat bit ke karakter heksadesimal
- for (int i = 0; i < strlen(paddedBinary); i += 4) {
- char fourBits[5];
- strncpy(fourBits, paddedBinary + i, 4);
- fourBits[4] = '\0';
- char hexChar = binaryToHex(fourBits);
- if (hexChar != '\0') {
- printf("%c", hexChar);
- } else {
- printf("Bilangan biner tidak valid.\n");
- return;
- }
- }
- printf("\n");
- }
- int main() {
- char input[256];
- // Meminta input dari pengguna
- printf("Masukkan bilangan biner: ");
- scanf("%s", input);
- // Memanggil fungsi untuk mengonversi biner ke heksadesimal
- binaryToHexadecimal(input);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement