相关疑难解决方法(0)

在C中定义16位整数

我需要在C中声明一个16位大小的整数.

我知道short和int size是依赖于机器的.

我尝试使用,"stdint.h",但似乎他们只是这样做

typedef short int16_t
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:

我错过了什么,短型保证16位长度?

如果不是,是否有替代方案可以保证呢?

c integer 16-bit stdint

17
推荐指数
2
解决办法
7万
查看次数

不同体系结构中C的int大小

我知道C语言的规范并没有规定每个整数类型的确切大小(例如int).

我想知道的是:C(不是C++)中是否有一种方法来定义具有特定大小的整数类型,以确保它在不同的体系结构中是相同的?喜欢:

typedef int8 <an integer with 8 bits>
typedef int16 <an integer with 16 bits>
Run Code Online (Sandbox Code Playgroud)

或者任何其他允许程序的其他部分在不同体系结构上编译的方式.

c types integer cross-platform

10
推荐指数
3
解决办法
5215
查看次数

C字大小和标准尺寸

在本文中,摘自"Linux内核开发"一书:http: //www.makelinux.net/books/lkd2/ch19lev1sec2
它说:

C long类型的大小保证是机器的字大小.然而,在缺点方面,代码不能假设标准C类型具有任何特定大小.此外,无法保证int与long的大小相同

问题是,我认为int与单词大小相同,不长,我找不到任何定义这个说法的官方标准.

有什么想法吗?

c ansi long-integer

4
推荐指数
1
解决办法
4278
查看次数

标签 统计

c ×3

integer ×2

16-bit ×1

ansi ×1

cross-platform ×1

long-integer ×1

stdint ×1

types ×1