如何找到微控制器是大端还是小端?

use*_*836 0 microcontroller

如何找到微控制器是大端还是小端?

没有微控制器规范,如何知道控制器是Big endian还是Little Endian?

Rah*_*wre 6

试试这个,

int x = 1;

if (*(char *)&x == 1)
    printf("Little Endian [LSB first]");  // or LED1 ON
else
    printf("Big Endian [MSB first]");     // or LED2 ON
Run Code Online (Sandbox Code Playgroud)

我在这里做的是 -

  • 在"int"中设置最低有效位
  • 取消引用"int"
  • 将它转换为char指针,即char数组和
  • 然后读取该数组的第一个元素

如果我们能够在第一个索引处看到我们的最低有效位'1',则意味着它首先存储LSB,这意味着Little Endian系统.

如果我们无法在第一个索引处看到最低有效位'1',则意味着它首先存储MSB,这意味着Big Endian系统.