We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • HackerRank Home

    HackerRank

  • |
  • Prepare
  • Certify
  • Compete
  • Hiring developers?
  1. Prepare
  2. C
  3. Conditionals and Loops
  4. Bitwise Operators

Bitwise Operators

Problem
Submissions
Leaderboard
Discussions
Editorial
  1. Prepare
  2. C
  3. Conditionals and Loops
  4. Bitwise Operators
Exit Full Screen View
  • Problem
  • Submissions
  • Leaderboard
  • Discussions
  • Editorial

In this challenge, you will use logical bitwise operators. All data is stored in its binary representation. The logical operators, and C language, use to represent true and to represent false. The logical operators compare bits in two numbers and return true or false, or , for each bit compared.

  • Bitwise AND operator & The output of bitwise AND is 1 if the corresponding bits of two operands is 1. If either bit of an operand is 0, the result of corresponding bit is evaluated to 0. It is denoted by &.

  • Bitwise OR operator | The output of bitwise OR is 1 if at least one corresponding bit of two operands is 1. It is denoted by |.

  • Bitwise XOR (exclusive OR) operator ^ The result of bitwise XOR operator is 1 if the corresponding bits of two operands are opposite. It is denoted by .

For example, for integers 3 and 5,

3 = 00000011 (In Binary)
5 = 00000101 (In Binary)

AND operation        OR operation        XOR operation
  00000011             00000011            00000011
& 00000101           | 00000101          ^ 00000101
  ________             ________            ________
  00000001  = 1        00000111  = 7       00000110  = 6

You will be given an integer , and a threshold, i1nnik$. Print the results of the and, or and exclusive or comparisons on separate lines, in that order.

Example

The results of the comparisons are below:

a b   and or xor
1 2   0   3  3
1 3   1   3  2
2 3   2   3  1

For the and comparison, the maximum is . For the or comparison, none of the values is less than , so the maximum is . For the xor comparison, the maximum value less than is . The function should print:

2
0
2

Function Description

Complete the calculate_the_maximum function in the editor below.

calculate_the_maximum has the following parameters:

  • int n: the highest number to consider
  • int k: the result of a comparison must be lower than this number to be considered

Prints

Print the maximum values for the and, or and xor comparisons, each on a separate line.

Input Format

The only line contains space-separated integers, and .

Constraints

Sample Input 0

5 4

Sample Output 0

2
3
3

Explanation 0

All possible values of and are:

    • The maximum possible value of that is also is , so we print on first line.

    • The maximum possible value of that is also is , so we print on second line.

    • The maximum possible value of that is also is , so we print on third line.

  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy