“Conocimiento Sistemas>unix

¿Cuál es el tamaño de cada tipo de datos en bytes DOS y plataforma Unix?

2015/8/14
Los tamaños de tipos de datos en DOS y UNIX (con mayor precisión, sistemas que cumplen con POSIX como Linux, MacOS, BSD, etc.) pueden variar ligeramente dependiendo del compilador y la arquitectura del sistema específica (por ejemplo, 32 bits vs. 64 bits). Sin embargo, generalmente hay estándares aceptados y tamaños comunes. Es crucial recordar que esto * no * garantizado y siempre debe consultar la documentación de su compilador para tamaños definitivos.

Tamaños de tipo de datos comunes (aproximado):

| Tipo de datos | DOS (típicamente de 16 bits) | UNIX (típicamente de 32 bits o 64 bits) | Notas |

| --------------- | ------------------------ | ----------------------------------- | -------------------------------------------- |

| `char` | 1 byte | 1 byte | Generalmente firmado, pero puede ser sin firmar. |

| `CHARNE CHAR` | 1 byte | 1 byte | |

| `Short` | 2 bytes | 2 bytes (generalmente) | A menudo `Short Int` |

| `Unsigned Short` | 2 bytes | 2 bytes (generalmente) | |

| `int` | 2 bytes | 4 bytes (en 32 bits), 4 u 8 bytes (en 64 bits) | El tamaño depende en gran medida de la arquitectura. |

| `Unsigned int` | 2 bytes | 4 bytes (en 32 bits), 4 u 8 bytes (en 64 bits) | El tamaño depende en gran medida de la arquitectura. |

| `Long` | 4 bytes | 4 bytes (en 32 bits), 8 bytes (en 64 bits) | El tamaño depende en gran medida de la arquitectura. |

| `Unsigned Long` | 4 bytes | 4 bytes (en 32 bits), 8 bytes (en 64 bits) | El tamaño depende en gran medida de la arquitectura. |

| `Long Long` | No estándar | 8 bytes | C99 y más tarde estándar. |

| `Unsigned Long` | No estándar | 8 bytes | C99 y más tarde estándar. |

| `Float` | 4 bytes | 4 bytes | Punto flotante de precisión única. |

| `Doble` | 4 bytes u 8 bytes | 8 bytes | Punto flotante de doble precisión. |

| `Long Double` | 8 bytes (a menudo) | 8 bytes o 16 bytes | Punto flotante de precisión extendida (el tamaño varía). |

| `Pointer` | 2 bytes | 4 bytes (32 bits), 8 bytes (64 bits) | El tamaño depende de la arquitectura. |

Consideraciones importantes:

* Variaciones de DOS: Los tamaños "DOS" son generalizaciones. Los diferentes compiladores de DOS e incluso diferentes modelos de memoria (como pequeños, medianos, compactos, grandes, enormes) podrían influir en el tamaño de los tipos de datos. DOS era en gran medida un sistema operativo de 16 bits, lo que resultó en los tamaños más pequeños.

* Variaciones unix/Posix: Si bien los sistemas similares a unix tienden a ser más consistentes, los tamaños `int` y` long` pueden variar según la arquitectura del sistema (32 bits frente a 64 bits). Los mandatos estándar * mínimos * tamaños, no tamaños exactos. El uso de `stdint.h` (c99 y posterior) proporciona tipos enteros de ancho fijo (` int32_t`, `int64_t`, etc.) para una mejor portabilidad.

* Influencia del compilador: El compilador que usa (GCC, Clang, Visual C ++) puede tener impactos sutiles en los tamaños de tipo de datos. Siempre verifique la documentación de su compilador o use `sizeof ()` para determinar el tamaño exacto en su sistema y compilador específico.

* `sizeof ()` operador: Para obtener el tamaño preciso de un tipo de datos en bytes en * su * sistema, use el operador `sizeOf ()` en C/C ++. Por ejemplo:`sizeof (int)`, `sizeOf (largo largo)`, etc. Este es el método más confiable.

En resumen, mientras que la tabla ofrece tamaños comunes, los tamaños reales dependen del compilador y la plataforma. Siempre verifique el uso de `sizeof ()` para información precisa y específica de la plataforma.

unix
Pros y contras de Unix
¿Cuál es el propósito de HIMEM.SYS?
¿Qué es la comunicación de interprocesos en UNIX?
Unix Screen Tutorial Command
Unix FTP Tutorial
¿Cómo puedo saber cuántos shells de inicio de sesión diferentes se utilizan en mi Linux?
¿Cuál es el propósito de que alguien realice un CHKDSK R?
¿Para qué se usa el directorio .ssh en UNIX?
Conocimiento de la computadora © http://www.ordenador.online