使用c程序查找我的微控制器是8位还是16位

时间:2015-04-09 08:58:28

标签: c architecture bit

如何找到给定的控制器是8/16/32位机器。我已经尝试将值分配给char以查找值的位位置。

1 个答案:

答案 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