EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Unsigned Int in C

Home » Software Development » Software Development Tutorials » C Programming Tutorial » Unsigned Int in C

Unsigned Int in C

Introduction to Unsigned Int in C

In C programming language, there are different varieties of data types, which are used to declare variables before they are used as they are data storage for a particular variable to perform particular tasks like int data types for integers, float for floating real numbers, etc.  In C, unsigned is also one data type in which is a variable type of int this data type can hold zero and positive numbers. There is also a signed int data type in which it is a variable type of int data type that can hold negative, zero, and positive numbers. This unsigned int is data type cannot represent a negative number.

Syntax

In C programming language, unsigned data type is one of the type modifiers which are used for altering the data storage of a data type. In C, usually, we have integer (int) data type by default are signed where it can store values both negative and positive values. Let us see how to declare it in the C programs.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

unsigned int variable_name;

Example:

unsigned int a;

Explanation: In the above example, the variable “a” can hold the values only zero and positive values. We know that the data type “int” has the size of 4 bytes where it can hold values from -231 to 231 – 1, but in this, we have declared “x” as unsigned int so it can hold values from 0 to 232 – 1. The unsigned int can contain storage size either 2 or 4 bytes where values ranging from [0 to 65,535] or [0 to 4,294,967,295]. The format specifier used for an unsigned int data type in C is “ %u ”.

Examples to Implement Unsigned Int in C

Let us see some examples:

Example #1

Let us see a small C program that uses unsigned int:

Code:

#include <stdio.h>
#include <limits.h>
int main(int argc, char** argv)
{
printf("Unsigned int values range: %u\n", (unsigned int) UINT_MAX);
return 0;
}

Output:

Unsigned int in C1

Explanation: So in general, in C we have signed and unsigned integer data types to declare in the program. Let us see if the variable is declared signed int and we want it to convert it into unsigned int which is a bit confusing in C programming. In C, the compiler performs implicit casting but sometimes it gives a warning so most of the time they are manually cast explicitly which is done using the data type you want to convert it in the parenthesis to another data type.

Popular Course in this category
C Programming Training (3 Courses, 5 Project)3 Online Courses | 5 Hands-on Projects | 34+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (5,570 ratings)
Course Price

View Course

Related Courses
C++ Training (4 Courses, 5 Projects, 4 Quizzes)Java Training (40 Courses, 29 Projects, 4 Quizzes)

Example #2

Let us see the C program that converts the signed variable to an unsigned variable:

Code:

#include <stdio.h>
int main(void)
{
int  a = 57;
unsigned int b = (unsigned int)a;
printf("The value of signed variable is: %u\n",a);
printf("The value of unsigned variable is: %u\n",b);
return 0;
}

Output:

Unsigned int in C2

Explanation: In the above program, we have declared variable “a” as integer data type which is by default is signed int data type, and then we are converting variable “a” to unsigned int data type using casting for converting the variable from signed to unsigned by using “(unsigned)” before the variable “a” for converting. According to C99 standard the integer value when converted to another type then the value will not be changed, so in the above program also the value of the variable “a” is 57 so when it is changed to unsigned int the value for the new variable “b” which stores the value of variable “a” which is converted to unsigned has the same value which was declared in the starting as “57”.

In C, the int data type is by default is signed data type which can store even negative values also other than positive values. So to convert negative values to unsigned int also is possible in C programming language. If the variable is having negative value and if we are converting it into unsigned then the value of that variable is repeatedly converted by adding or subtracting one or more than a maximum value until the value is in the range of the new type.

Example #3

Let us see the example for converting negative signed int variable to unsigned int variable:

Code:

#include <stdio.h>
int main(void)
{
int a = -57;
unsigned int b = (unsigned int)a;
printf("The unsigned value of negative signed value 0x%x\n",a);
return 0;
}

Output:

negative signed int variable

Explanation: In the above program, the hexadecimal representation of value -57 is 0xffffffc7 where this value is in the range of unsigned int so after the casting of this value there is no specific change in the bits of the value.

In C programming language, the overflow of unsigned int is well defined than signed int. Unsigned int is much better than signed int as the range for unsigned int is larger than signed int and the modulus operation is defined for unsigned int and not for signed int. The unsigned int can reduce some conditional statements and also it is mostly used in embedded systems, registers, etc so only unsigned int is more preferable than signed int. Unsigned int can also be declared in the function argument.

Unsigned int is usually used when we are dealing with bit values that means when we are performing bitwise operations like bit masking orbit shifting. As bit shifting in negative integers is undefined or implementation-defined outputs.

Conclusion

In this article, we have discussed unsigned int in C programming language. Unsigned int is a data type that can store the data values from zero to positive numbers whereas signed int can store negative values also. It is usually more preferable than signed int as unsigned int is larger than signed int. Unsigned int uses “ %u ” as a format specifier. This data type is used when we are dealing with bit values like bit masking or bit shifting, etc.

Recommended Articles

This is a guide to Unsigned Int in C. Here we discuss introduction to Unsigned Int in C, syntax, examples with code, output, and explanation. You can also go through our other related articles to learn more –

  1. typedef in C
  2. C Literals
  3. Bitwise Operators in C++
  4. Unary Operators in C++

C Programming Training (3 Courses, 5 Project)

3 Online Courses

5 Hands-on Projects

34+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C Programming Tutorial
  • Basic
    • Introduction to C
    • What is C
    • Career in C Programming
    • Advantages of C
    • How to Install C
    • Best C Compilers
    • Data Types in C
    • Variables in C
    • C Keywords
    • C Command
    • Command Line Arguments in C
    • C Literals
    • Constants in C
    • Unsigned Int in C
    • String in C
  • Pointers
    • Pointers in C
    • Null pointer in C
    • Function Pointer in C
    • Double Pointer in C
    • Void Pointer in C
    • Const Pointer in C
    • Dangling Pointers in C
    • Pointer Arithmetic in C
  • Operators
    • C Operators
    • Arithmetic Operators in C
    • Relational Operators in C
    • Assignment Operators in C
    • Logical Operators in C
    • Conditional Operator in C
    • Modulus Operator in C
    • Ternary Operator in C
    • Address Operator in C
    • Unary Operator in C
    • Operators Precedence in C
    • Left Shift Operator in C
  • Control Statement
    • Control Statements in C
    • If Statement in C
    • If-else Statement in C
    • Else if Statement in C
    • Nested if Statement in C
    • #else in C
    • Structure Padding in C
    • Nested Structure in C
    • Continue Statement in C
    • Break Statement in C
    • Switch Statement in C
    • Goto Statement in C
  • Loops
    • Loops in C
    • For Loop in C
    • While Loop in C
    • Do While Loop in C
    • Nested Loop in C
    • Infinite Loop in C 
  • Function
    • Math Functions in C
    • Hashing Function in C
    • Recursive Function in C
    • Power Function in C
    • fputs in C
    • C puts() Function
    • fprintf() in C
    • fseek() in C
    • Stderr in C
    • ASCII Value in C
    • strcat() in C
    • Inline Function in C
    • sizeof() in C
    • Function Prototype in C
    • C ftell()
  • Array
    • Arrays in C Programming
    • 2-D Arrays in C
    • 3D Arrays in C
    • Multidimensional Array in C
    • Array Functions in C
    • Strings Array in C
  • Sorting
    • Sorting in C
    • Heap Sort in C
  • Advanced
    • Constructor in C
    • Encapsulation in C
    • C Storage Classes
    • Static Keyword in C
    • File Handling in C
    • Queue in C
    • Hexadecimal in C 
    • typedef in C
    • Memory Allocation in C
    • Linked List in C
    • Volatile in C
    • Tokens in C
    • Expression in C
    • Regular Expression in C
    • Error Handling in C
    • Types of Errors in C
    • Preprocessor in C
    • Preprocessor Directives in C
    • fscanf() in C
    • #Pragma in C
    • #ifndef in C
    • #undef in C
    • Macros in C
  • C programs
    • Patterns in C Programming
    • Star Patterns in C
    • Number Patterns in C
    • Swapping in C
    • Reverse Number in C
    • Palindrome in C Program
    • Factorial in C
    • Fibonacci Series in C
    • Square Root in C
    • Random Number Generator in C
    • Prime Numbers in C
    • Escape Sequence in C
    • Reverse String in C
    • Leap Year Program in C
    • Anagram Program in C
    • Strong Number in C
    • String Concatenation in C
    • C Programming Matrix Multiplication
    • Decimal to Octal in C
    • Expression Evaluation in C
    • Decimal to Hexadecimal in C
  • Interview question
    • C Programming Interview Questions

Related Courses

C Programming Training Course

C++ Training Course

Java Training Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C Programming Training (3 Courses, 5 Project) Learn More