如何找到给定的控制器是8/16/32位机器。我已经尝试将值分配给char以查找值的位位置。
答案 0 :(得分:0)
没有办法告诉C代码。
首先,请注意,8位,16位等指的是CPU 数据总线,其宽度不一定与CPU 地址总线相同。
虽然不能保证C标准中的默认类型大小,但int
的大小通常对应于数据总线的宽度。除了8位处理器不是这样。
类似地,指针的大小对应于地址总线的大小,但地址总线的宽度不一定与数据总线的宽度相同。
根据经验(不存在标准):
Data bus Addr bus int long pointer
8 16 16 32 16
16 16 16 32 16
32 32 32 32 32
64 64 32 32/64 64