unsigned integer getting overflowed in c -
this question has reply here:
unsigned int in c behaves negative 8 answersi wrote simple c programme find maximum positive number can reach using unsigned integer given below. size of integer on machine 4 bytes.
#include <stdio.h> #include <math.h> main() { unsigned int x = 1; int = 1; for(; <= 31; i++) { x = x * 2; } unsigned int y = pow(2, 31); printf("%d\n", x); printf("%d\n", y); } both x, y getting overflowed , value -2147483648. thought should not overflow because on machines sizeof(int) = 4 bytes, unsigned int range should pow(2, 32) - 1. can 1 please allow me know why getting overflowed?
you want utilize %u unsigned int:
printf("%u\n", x); printf("%u\n", y); c
No comments:
Post a Comment