#include <stdbool.h>
#include <stdint.h>
/*
* Big Endian vs Little Endian
*
* Big Endian - the most significant byte is stored at the lowest memory address
* Little Endian - the least significant byte is stored at the lowest memory address
* memory is byte-addressable
* Integer value: 0xA1B2C3D4
*
* Memory Big Little
* Address Endian Endian
* ====== ====== ======
* 0x100 A1 D4
* 0x101 B2 C3
* 0x102 C3 B2
* 0x103 D4 A1
*/
bool is_little_endian(){
int val = 1; // any multi-byte integer works; 1 ensures only the LSB is 0x01
// points to the lowest-addressed byte
char* c = (char*)&val;
return *c == 1;
}
Checking for Endianness
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- passport 护照 ticket 机票 ID card 身份证 visa 签证 window seat 靠窗座...
- 这个问题搞了一会想起开始安装node-sass时的一句被我忽略的提示:执行npm rebuild node-sas...
- 原因:同一host曾配置过ssh key,重新生成ss key会导致与known-hosts中的信息不一致 解决方...
- Spring’s dependency checking in bean configuration file i...
- 日常需要传递几G或者十几G的fastq数据,在cp或者rysnc完后,是需要对复制的数据进行md5码检验的。本文先...