Skip to main content

Featured

C Program to Check Prime Number Using Efficient Logic

  Introduction A prime number is a number that has exactly two distinct positive divisors: 1 and itself. In this program, we check whether a given number is prime or not using a simple and efficient logic. This type of program is commonly used in mathematics, competitive programming, and basic algorithm learning for beginners in C programming. Problem Statement The task is to write a C program that determines whether a given integer is a prime number or not. The program takes a single integer input from the user and analyzes its divisibility. If the number has no divisors other than 1 and itself, it should be identified as a prime number; otherwise, it is not prime. This problem is important in number theory and has practical relevance in areas such as cryptography, data validation, and algorithm design.  Algorithm / Logic Explanation To check whether a number is prime, we need to verify that it is not divisible by any number other than 1 and itself. The algorithm follows a si...

C Program: Union and Nibble Sum of a Hexadecimal Number

C Program: Union and Nibble Sum

๐Ÿ”ท C Program: Union and Nibble Sum of a Hexadecimal Number

#include <stdio.h>

union byteunion
{
    unsigned int full_word;
    unsigned char bytes[4];
};

int main( )
{
    union byteunion data;
    scanf("%x", &data.full_word);

    int upper_sum = 0, lower_sum = 0;

    printf("\nBytes: ");
    for (int i = 3; i >= 0; i--)
    {
        printf("0x%02X", data.bytes[i]);
        if (i != 0)
            printf(", ");
    }

    for (int i = 0; i < 4; i++)
    {
        int byte = data.bytes[i];
        int upper = byte / 16;
        int lower = byte % 16;
        upper_sum += upper;
        lower_sum += lower;
    }

    printf("\nUpper nibble addition: 0x%02x", upper_sum);
    printf("\nLower nibble addition: 0x%02X\n", lower_sum);
}
  

๐Ÿ“˜ Explanation:

This program demonstrates how to use a union in C to access individual bytes of a 32-bit hexadecimal input.

๐Ÿ”น A union is used to share memory between an unsigned int and an array of 4 bytes.
๐Ÿ”น The user inputs a 32-bit hexadecimal number.
๐Ÿ”น The program prints all 4 bytes from most significant to least significant.
๐Ÿ”น Each byte is split into upper and lower 4-bit nibbles.
๐Ÿ”น It then calculates and displays the sum of upper and lower nibbles separately in hexadecimal format.

๐Ÿ” Sample Output:

Input:
12345678

Output:
Bytes: 0x12, 0x34, 0x56, 0x78
Upper nibble addition: 0x15
Lower nibble addition: 0x14
    

๐Ÿท️ Keywords:

C union example, hexadecimal byte access, nibble sum, bitwise manipulation, memory sharing in C, byte array, 32-bit hex analysis

Comments

Popular Posts

๐ŸŒ™