编写一个程序或函数,如果在一个小的endian体系结构上运行,则输出一个L;如果在一个大的endian体系结构上运行,则编写一个B。小写输出l或b也是可以接受的。
没有输入。
得分是代码高尔夫,所以以最少字节的代码获胜。
编辑:根据下面的评论,我要澄清的是,条目必须能够在任何一个体系结构上运行。
我相信这只会影响一个答案,而这个答案已清楚显示情况是这样。
发布于 2016-07-28 00:16:20
import sys
exit(sys.byteorder[0])sys.byteorder要么是'little',要么是'big' (对于那些不看代码就读这句话的人来说,[0]的意思是取第一个字符)。
发布于 2016-07-28 00:54:31
a=66<<24|76;f(){puts(&a);}假定32位int和ASCII字符.在amd64 (小终端)和mips (大端)上进行测试。
00000000: 613d 2742 0000 4c27 3b66 2829 7b70 7574 a='B..L';f(){put
00000010: 7328 2661 293b 7d s(&a);}是feersum建议的。多字符常量的值是与实现有关的,但这似乎适用于GCC.在相同的架构上测试。
发布于 2016-07-28 00:15:01
[~,~,e]=computer;disp(e)computer函数给出了关于它正在运行的计算机的信息。第三个输出是endianness:L或B,分别用于小端或大端。
在Ideone身上试试。
https://codegolf.stackexchange.com/questions/86758
复制相似问题