variable uso tipos tipo teclado raya rangos que programacion long largo guion ejemplos ejemplo dialogo definicion datos dato corto c++ c

c++ - uso - variable long



Tipo C++ sin signo largo int (5)

¿Es unsigned long int equivalente a unsigned long ? en C ++

En mi opinión son los mismos. Pero vi a algunas personas que seguían usando el código int largo sin firmar. ¿No entiendes por qué? ¿Podría alguien explicármelo?

#include <stdio.h> int main() { unsigned long int num = 282672; int normalInt = 5; printf(""); return 0; }


Sí.

long es solo una abreviatura de long int . Esto se debe a que, en principio, long es solo un calificador (por ejemplo, también se puede usar para prolongar un tipo de datos double )

De la norma C ++ ISO, sección 7.1.5.2, una tabla de especificadores de tipo equivalentes:


La sección 6.7.2 de la norma C99 ofrece la siguiente lista de tipos (esto es solo un extracto):

  • short , signed short , short int , o signed short int
  • unsigned short , o unsigned short int
  • int , signed o signed int
  • unsigned , o unsigned int
  • long , signed long , long int , o signed long int
  • unsigned long , o unsigned long int
  • long long , signed long long , long long int , o signed long long int
  • unsigned long long , o unsigned long long int

Con el siguiente punto adicional:

(5) Cada uno de los conjuntos separados por comas designa el mismo tipo, excepto que para los campos de bits, está definido por la implementación si el especificador int designa el mismo tipo como signed int o el mismo tipo que unsigned int .


Sí, son lo mismo. Decir unsigned long int es simplemente declarar explícitamente que es un int.

Siempre puede mirar el tamaño del tipo por sizeof(unsigned long int) y sizeof(unsigned long)

Espero que esto ayude.


unsigned long int es la definición de tipo correcta, sin embargo int puede ignorarse.


Si unsigned , signed , short , long , long long , long , todos son simples especificadores de tipo para XXX int .

Ver 7.1 Especificadores [dcl.spec] en el estándar:

3 [Nota: como firmado, sin firmar, largo y corto por defecto implica int, el nombre de tipo que aparece después de que uno de esos especificadores se trata como el nombre que se está (re) declarando. [Ejemplo:

void h(unsigned Pc); // void h(unsigned int)

void k(unsigned int Pc); // void k(unsigned int)

—En el ejemplo] —en la nota final]

y 7.1.6.2 Especificadores de tipo simple [dcl.type.simple]

Table 10 — simple-type-specifiers and the types they specify Specifier(s) | Type ------------------------+--------------------------------- type-name | the type named simple-template-id | the type as defined in 14.2 char | “char” unsigned char | “unsigned char” signed char | “signed char” char16_t | “char16_t” char32_t | “char32_t” bool | “bool” unsigned | “unsigned int” unsigned int | “unsigned int” signed | “int” signed int | “int” int | “int” unsigned short int | “unsigned short int” unsigned short | “unsigned short int” unsigned long int | “unsigned long int” unsigned long | “unsigned long int” unsigned long long int | “unsigned long long int” unsigned long long | “unsigned long long int” signed long int | “long int”