linux 判断大端小端主机是 大端还是小端

判断大端小端机器
判断大端小端机器
int i = 0X
大端存储(Big Endian) 按照字符串从左向右的顺序存储
小端存储(Little Endian)
利用联合类型,联合类型,个联合共享一段内存空间,一个联合变量的长度是各成员中最长的长度
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.037 (s). 12 q(s)502 Bad Gateway
502 Bad Gateway如何判断主机是大端还是小端_百度知道
如何判断主机是大端还是小端
我有更好的答案
方法一  小端,0xB、通过读取同一地址的整型数据和字符数据来区别大端和小端
  方法二,0x0C,0x0B,在小端机器中从地址到高址的存放方式为:0x0D,一个字是4个字节,那么数据0x0A0B0C0D,0x0A;  在大端模式中从地址到高地址的存放方式为:0x0A。  大端:数据的高位字节存放在低地址内:数据的高位字节存放在高地址内,数据的低位字节存放在低地址内;  通用处理器中,ARM通常是大端模式,0x0C,0x0D,数据的低位字节存放在高地址内。  典型的体系结构中,x86体系机构是小端模式。  判断方法
为您推荐:
其他类似问题
大端的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客分类:
写(抄)了一段c程序,用来判断机器存储器存储数值(当然不仅数值)时候用的是小端法还是大端法。先把int或者float转换成char指针,或者unsigned char指针,然后一个一个字节的输出,其中char_with_or_not_unsigned是编译后的可执行文件名:
yymt@fanhua:~$ ./char_with_or_not_unsigned 123
char pointer:
7b 00 00 00
unsigned char pointer: 7b 00 00 00
char pointer:
00 00 fffffff6 42
unsigned char pointer: 00 00 f6 42
输入123时候,int值的输出是相同的,而float值不同。123的16进制表示是0x7b,这里判断出是小端法。
当输入1234的时候,有符和无符输出就都不同了(其中1234的16进制表示是0x04d2):
yymt@fanhua:~
$ ./char_with_or_not_unsigned 1234
char pointer:
ffffffd2 04 00 00
unsigned char pointer: d2 04 00 00
char pointer:
00 40 ffffff9a 44
unsigned char pointer: 00 40 9a 44
注意,int转型成char pointer输出的时候,第一个字节都多出一串fffff,为什么呢?
我的机子是ubuntu 11.10 server版,64位的。另,这里都是小端法表示的。
#include&stdio.h&
typedef char* char_
typedef unsigned char* uchar_
void print_byte(char_pointer v,int len){
for(int i = 0;i &i++){
printf(" %.2x",v[i]);
printf("\n");
void print_ubyte(uchar_pointer v,int len){
for(int i = 0;i &i++){
printf(" %.2x",v[i]);
printf("\n");
int main(int argc,char* argv[]){
if(argc == 1){
int a = atoi(argv[1]);
float f = (float)a;
printf("int:\n");
char pointer:
print_byte((char_pointer)&a,sizeof(int));
unsigned char pointer:");
print_ubyte((uchar_pointer)&a,sizeof(int));
printf("float:\n");
char pointer:
print_byte((char_pointer)&f,sizeof(float));
unsigned char pointer:");
print_ubyte((uchar_pointer)&f,sizeof(float));
yueyemaitian
浏览: 230249 次
来自: 杭州
很不错,学习了
你这么牛逼,你父母知道吗
谢楼主,构建成功了
?????
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'如何判断CPU是大端还是小端模式
我的图书馆
如何判断CPU是大端还是小端模式
#include "stdio.h"
int main()
a;&&//4 bytes
&&if (c.b==1)
&&printf("It is
Little_endian!\n");
&&printf("It is
Big_endian!\n");
&&return 1;
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 大端小端判断 的文章

 

随机推荐