In this exercise, we learn how to write a C program to check positive or negative without using conditional statements?. We will write the C program to check positive or negative without using conditional statements. It is tricky to check the positive and negative numbers without an if-else and ternary operator, we just only use the bitwise operator.
The signed shift data>>(BITS -1) converts every negative number into -1 and every other into 0, where BITS is the number of bits in an integer number. Similar to that when we do a – data>>(BITS -1), if data is a positive number then it will return -1 as we are doing – data>>(BITS -1). But both will return 0 for zero ( 0), so we can create a formula here,
BITS => number of bits in an integer number.
Now we can check the result of the above formula for positive, negative, and zero,
1. When data is a positive integer number:
2. When data is negative integer number:
3. When data is zero:
So we know that the above-mentioned formula returns 2 when it is a positive number, returns 0 when it is a negative number, it returns 1 when it is zero.
If you do not want to use conditional statements if-else or ternary operator to display the find positive and negative number in C programming. So you need to create an array of strings that contains “negative” at the 0th index, “zero” at the 1st index, and “positive” at the 2nd index.
You need to calculate the index using the above formula and print the string according to the index. Let’s see the C program to check the positive, negative, and zero without branching statements.
output:
Enter any number: -10
Negative number
Enter any number: 10
Positive number
Enter any number: 0
need an explanation for this answer? contact us directly to get an explanation for this answerZero