Warning: implode(): Invalid arguments passed in /www/wwwroot/jobquiz.info/mdiscuss.php on line 336 What will be the output of the program? #include<stdio.h> typedef unsigned long int uli; typedef uli u; int main() { uli a; u b = -1; a = -1; printf("%lu, %lu", a, b); return 0; } ?->(Show Answer!)
1. What will be the output of the program? #include<stdio.h> typedef unsigned long int uli; typedef uli u; int main() { uli a; u b = -1; a = -1; printf("%lu, %lu", a, b); return 0; }
Ask Your Doubts Here
Comments
By: guest on 01 Jun 2017 06.00 pm
The system will treat the negative numbers with 2's complement method. For 'long int' system will occupy 4 bytes (32 bits). Therefore, Binary 1 : 00000000 00000000 00000000 00000001 To represent -1, system uses the 2's complement value of 1. Add 1 to the 1's complement result to obtain 2's complement of 1. So, First take 1's complement of binary 1 (change all 0s to 1s and all 1s to 0s) 1's complement of Binary 1: 11111111 11111111 11111111 11111110 2's complement of Binary 1: (Add 1 with the above result) 11111111 11111111 11111111 11111111
In HexaDecimal 11111111 11111111 11111111 11111111 = FFFF FFFF FFFF FFFF In Unsigned Integer 11111111 11111111 11111111 11111111 = 4294967295.
In HexaDecimal 11111111 11111111 11111111 11111111 = FFFF FFFF FFFF FFFF In Unsigned Integer 11111111 11111111 11111111 11111111 = 4294967295.