大虾帮忙 write a function to judge current paltform using big endian and little endian

wanlly_311 2005-11-09 12:45:41
题目是什么意思啊?大虾帮忙
...全文
202 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2005-11-10
  • 打赏
  • 举报
回复
void judge()
{
int i = 1;
char* p = (char*)&i;
if(*p)
printf("little-endian");
else
printf("big-endian");
}
晨星 2005-11-10
  • 打赏
  • 举报
回复
lengxiao_wang()
的方法是不对的。
beyondtkl 2005-11-10
  • 打赏
  • 举报
回复
可以上网搜索哦。。。

wohow 2005-11-10
  • 打赏
  • 举报
回复
to lengxiao_wang()
你修改后的代码在任何机器上都是little-endian
wanlly_311 2005-11-09
  • 打赏
  • 举报
回复
呵呵 谢谢各位大虾:)
lengxiao_wang 2005-11-09
  • 打赏
  • 举报
回复
to wohow() 写错了一点,应该是==
void judge()
{
int i = 0x1234;
char c =i;
if(c == 0x12)
printf("big-endian");
else
printf("little-endian");
}
goodluckyxl 2005-11-09
  • 打赏
  • 举报
回复
大小端判断就是看大于1字节的变量赋值后内存组织形式
顺序的是大端 反序是小端
在cpu的寄存器中一般专门有这个属性设置
但是处在OS下是没有权限改写的
在PC的集成IDE下的大小端设置是软模拟实现而并非真正设置了cpu属性
goodluckyxl 2005-11-09
  • 打赏
  • 举报
回复
test
wohow 2005-11-09
  • 打赏
  • 举报
回复
如果不考虑if(c=0x12)中的==的错误的话
wohow 2005-11-09
  • 打赏
  • 举报
回复
to lengxiao_wang()
你的程序不对吧,任何机器都成了little-endian
lengxiao_wang 2005-11-09
  • 打赏
  • 举报
回复
void judge()
{
int i = 0x1234;
char c =i;
if(c = 0x12)
printf("big-endian");
else
printf("little-endian");
}
xiaonian_3654 2005-11-09
  • 打赏
  • 举报
回复
int i = 1;
return i == *((char*)&i); //return 1 if little endian
JohnTitor 2005-11-09
  • 打赏
  • 举报
回复
#include <iostream>
using namespace std;
int main()
{
union{
short s;
char c[2];
}un;
un.s = 0x0102;
if(un.c[0] == 1 && un.c[1] == 2)
cout<<"big-endian"<<endl;
else if(un.c[0] == 2 && un.c[1] == 1)
cout<<"little-endian"<<endl;
return 0;
}
megaboy 2005-11-09
  • 打赏
  • 举报
回复
这句话翻译过来就是:写一个判断当前平台是大端字节顺序还是小端字节顺序的函数。所谓大端小端,指的是二进制字节在内存中的排列方式,intel的cpu使用小端排列,低位字节在前,高位字节在后,与地址增长方向一致;而motorola的cpu则使用大端排列,低位字节在后,高位字节在前,与地址增长方向相反。
doway 2005-11-09
  • 打赏
  • 举报
回复
下半年台 -> 平台
doway 2005-11-09
  • 打赏
  • 举报
回复
哈,分拿来!

意思是说让你写一函数,检查当前下半年台(即操作系统)使用的是 big endian 字节顺序还是 little endian 字节顺序。

64,318

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧