/* * Author : Amit Dutta * Date : 08 Feb 2026 * Repo : https://github.com/notamitgamer/bsc * License : MIT License (See the LICENSE file for details) */ /* Decode student information (Year, Stream, Room No) packed into an integer array. */ /* Let Us C, Chap- 21 (Operations on Bits), Qn No.: A(c) */ /* This file is auto-generated by a bot. */ /* This code is not compiled; it is for reference only. */ #include #include int main() { int data[] = {273, 548, 786, 1096}; int n = 4, i; int val, year, stream_bits, room; for (i = 0; i < n; i++) { val = data[i]; // Room Number: Rest of the bits (Assuming starting from bit 8) room = val >> 8; printf("Student %d (Raw: %d):\n", i + 1, val); printf(" Room No: %d\n", room); // Year: Bits 0-3 printf(" Year: "); if (val & (1 << 0)) printf("1st Year"); else if (val & (1 << 1)) printf("2nd Year"); else if (val & (1 << 2)) printf("3rd Year"); else if (val & (1 << 3)) printf("4th Year"); else printf("Unknown"); printf("\n"); // Stream: Bits 4-7 (Mech, Chem, Elec, CS) printf(" Stream: "); if (val & (1 << 4)) printf("Mechanical"); else if (val & (1 << 5)) printf("Chemical"); else if (val & (1 << 6)) printf("Electronics"); else if (val & (1 << 7)) printf("CS"); else printf("Unknown"); printf("\n\n"); } return 0; }