Home Backend Development C#.Net Tutorial What is the value range of data int in C language?

What is the value range of data int in C language?

Jun 30, 2020 am 11:17 AM
c language int

In C, int occupies 4 bytes, 32 bits, and the data range is -2147483648~2147483647[-2^31~2^31-1]. The int type data is a signed integer data, and its highest bit is the sign bit (0 means positive, 1 means negative).

What is the value range of data int in C language?

In C, int occupies 4 bytes, 32 bits, and the data range is -2147483648~2147483647[-2^31~2^31- 1].

Detailed answer process, taking two bytes as an example:

In C, int type data is a signed integer data, and its highest bit is the sign bit ( 0 means positive, 1 means negative).

1 byte is equivalent to 8 binary bits. In many computer systems, two's complement is usually used to represent signed numbers (complementary system).

Original code: The highest bit is the sign bit (0 means positive, 1 means negative), and the other bits represent the absolute value of the number in the usual way.

Inverse code: For a signed book, the inverse code of a positive number is the same as its original code, and the inverse code of a negative number is the bitwise inversion of all bits of the original code except the sign bit.

Complement code: The complement code of a positive number is the same as its original code, and the complement code of a negative number is its inverse code with 1 added to the lowest bit.

Two bytes, so the maximum binary original code is 0111 1111 1111 1111 = 2^15 - 1 = 32767.

The minimum is 1111 1111 1111 1111 = - (2^15 - 1) = -32767.

The expression of 0 in the original code can be divided into positive and negative [0] original = 0000 0000 0000 0000; [-0] original =1000 0000 0000 0000.

So when expressed in binary original code, the range is -32767 ~ -0 and 0 ~ 32767. Because there are two 0s, the number of different values ​​is 2^16 - 1.

When the computer uses two's complement code to store data, the representation of 0 is unique: [0] complement = [-0] complement = 0000 0000 0000 0000

At this time, the positive number encoding No change, from 0000 0000 0000 0000 ~ 0111 1111 1111 1111 still represents 0 ~ 32767.

Negative numbers indicate that the complement code must be followed, that is, the complement code of -32767 is 1000 0000 0000 0001.

So there will be one more code in the complement code than the original code. This code is 1000 0000 0000 0000, because it is impossible for any original code to become 1000 0000 0000 0000 when converted into a complement code, so people It is specified that the one's complement encoding of 1000 0000 0000 0000 is -32768.

Conclusion: When int type data occupies two bytes, it can represent 2^16 changes. The highest bit is the sign bit, so there are 2^15 changes in positive and negative, because 0 also occupies one type, so The maximum value of positive and negative numbers is not symmetrical, that is, the value range of this int type data is -32768 ~ 32767.

What is the value range of data int in C language?

Extended information:

int Usage method:

Definition method:

int i;//Define integer variable i

int i=1;//Define integer variable i and initialize it to 1

Define constant:

const int i ;//Compilation error, because constants need to be given an initial value

const int i=1;//Define constant i with a value of 1

Java defines constants:

final int i=1;//Define constant i with a value of 1

Recommended tutorial: "C Language"

The above is the detailed content of What is the value range of data int in C language?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Usage of typedef struct in c language Usage of typedef struct in c language May 09, 2024 am 10:15 AM

typedef struct is used in C language to create structure type aliases to simplify the use of structures. It aliases a new data type to an existing structure by specifying the structure alias. Benefits include enhanced readability, code reuse, and type checking. Note: The structure must be defined before using an alias. The alias must be unique in the program and only valid within the scope in which it is declared.

What does real mean in c language What does real mean in c language May 09, 2024 pm 12:06 PM

real is the data type used to represent double-precision floating-point numbers in C language. It occupies 8 bytes, has a precision of about 15 decimal places, and the range is [-1.7976931348623157e+308, 1.7976931348623157e+308].

How to use restrict in c language How to use restrict in c language May 08, 2024 pm 01:30 PM

The restrict keyword is used to inform the compiler that a variable can only be accessed by a pointer, preventing undefined behavior, optimizing code and improving readability: Preventing undefined behavior when multiple pointers point to the same variable. To optimize code, the compiler uses the restrict keyword to optimize variable access. Improves code readability by indicating that variables can only be accessed by a pointer.

_complex usage in c language _complex usage in c language May 08, 2024 pm 01:27 PM

The complex type is used to represent complex numbers in C language, including real and imaginary parts. Its initialization form is complex_number = 3.14 + 2.71i, the real part can be accessed through creal(complex_number), and the imaginary part can be accessed through cimag(complex_number). This type supports common mathematical operations such as addition, subtraction, multiplication, division, and modulo. In addition, a set of functions for working with complex numbers is provided, such as cpow, csqrt, cexp, and csin.

How to implement the power function in C language How to implement the power function in C language May 09, 2024 pm 11:33 PM

In C language, there are two ways to implement the exponentiation operation: use the pow() function to calculate the power of the second parameter of the first parameter. Define a custom power function, which can be implemented recursively or iteratively: the recursive method continues to double the power until it is 0. The iterative method uses a loop to multiply the base one by one.

What to do if there is an error in scanf in C language What to do if there is an error in scanf in C language May 09, 2024 am 11:39 AM

In C language, methods for handling scanf function errors include: 1. Check the format string; 2. Check the input; 3. Check the return value; 4. Set the error flag; 5. Use the error handling function; 6. Use custom errors deal with. To prevent errors, use the correct data types, carefully validate input, check return values, and handle potential errors in your program.

_What does bool mean in c language? _What does bool mean in c language? May 08, 2024 pm 01:33 PM

_Bool represents Boolean type in C language. It is a simple data type that contains only two values, true or false. It is used to represent the results of conditions or logical expressions. It usually occupies 1 byte of memory and can only store true or false. false value.

What does reg mean in c language What does reg mean in c language May 09, 2024 am 09:57 AM

reg is the keyword used for registers in C language and is used to declare pointer variables pointing to registers. Syntax: register data_type *var_name; where data_type is the data type stored in the register, and var_name is the name of the pointer variable. The value in the register can be accessed by dereferencing the pointer, but please note that the available registers vary between platforms and compilers.

See all articles