社区
C语言
帖子详情
x86平台和PowerPC平台的数据存储高地位正好相反?
zaf797979
2009-12-31 11:27:42
在这两个平台使用short int时,貌似高地位正好相反,导致数据出错,是平台上就是相反的吗?
...全文
150
12
打赏
收藏
x86平台和PowerPC平台的数据存储高地位正好相反?
在这两个平台使用short int时,貌似高地位正好相反,导致数据出错,是平台上就是相反的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pro_or_gram
2011-07-28
打赏
举报
回复
是的,powerpc 只支持 big-endian,默认也是 big-endian, 也有 true little-endian 模式。
little-endian 模式 的定义,是考虑到上层的软件与以前的兼容,
因为你以前的软件可能是在arm,x86等little-endian模式的架构上编写的。
yanghehong
2010-01-07
打赏
举报
回复
[Quote=引用 1 楼 supermegaboy 的回复:]
intel的cpu是小端模式,powerpc的cpu是大端模式,字节排列顺序相反。
[/Quote]
貌似也不全是这样。
印象中PowerPC有big endian的,也有small endian的。
有的公司的做的PowerPC处理器是big endian的,
有的公司做的,则是small endian的。
-
千里孤行
jc_ontheroad
2010-01-01
打赏
举报
回复
是的,x86平台采用低端在前,little endian;PowerPC平台及网络传输,采用高端在前,big endian。
do_fork
2010-01-01
打赏
举报
回复
[Quote=引用 7 楼 jackyjkchen 的回复:]
引用 6 楼 do_fork 的回复:
引用 3 楼 jackyjkchen 的回复:
引用 2 楼 do_fork 的回复:
不应该为你的代码假设字节序
某些二进制操作似乎设定字节序效率更高,我见过许多密码库都有为不同字节序专门设定了宏
这个不是为了效率,是为了正确性
我看他的文档里这样写的:如果不清楚目标机器的类型,可以使用“中立端”(ENDIAN_NEUTRAL),如果明确目标机器,使用大端或小端可获得最佳的效能……
似乎就是“大小端无关代码”与“最高效代码”的选择
[/Quote]
知道大小端可以用字长相等的单位做处理,否则只能按字节为单位处理,就是这个差别
jackyjkchen
2010-01-01
打赏
举报
回复
[Quote=引用 6 楼 do_fork 的回复:]
引用 3 楼 jackyjkchen 的回复:
引用 2 楼 do_fork 的回复:
不应该为你的代码假设字节序
某些二进制操作似乎设定字节序效率更高,我见过许多密码库都有为不同字节序专门设定了宏
这个不是为了效率,是为了正确性
[/Quote]
我看他的文档里这样写的:如果不清楚目标机器的类型,可以使用“中立端”(ENDIAN_NEUTRAL),如果明确目标机器,使用大端或小端可获得最佳的效能……
似乎就是“大小端无关代码”与“最高效代码”的选择
独孤过儿
2010-01-01
打赏
举报
回复
do_fork说的是正确的
可以参考glibc里面的memcpy()函数实现
do_fork
2009-12-31
打赏
举报
回复
[Quote=引用 3 楼 jackyjkchen 的回复:]
引用 2 楼 do_fork 的回复:
不应该为你的代码假设字节序
某些二进制操作似乎设定字节序效率更高,我见过许多密码库都有为不同字节序专门设定了宏
[/Quote]
这个不是为了效率,是为了正确性
失落的凡凡
2009-12-31
打赏
举报
回复
程序实现如果依赖字节序,就要考虑好大端法和小端法两种情况
myallisall
2009-12-31
打赏
举报
回复
学习了 哈哈
jackyjkchen
2009-12-31
打赏
举报
回复
[Quote=引用 2 楼 do_fork 的回复:]
不应该为你的代码假设字节序
[/Quote]
某些二进制操作似乎设定字节序效率更高,我见过许多密码库都有为不同字节序专门设定了宏
do_fork
2009-12-31
打赏
举报
回复
不应该为你的代码假设字节序
飞天御剑流
2009-12-31
打赏
举报
回复
intel的cpu是小端模式,powerpc的cpu是大端模式,字节排列顺序相反。
c语言
高
低位拷贝_C语言中的大小端转换与
高
低位颠倒
在说大小端
高
低位之前,肯定要说明
数据
在计算机内是如何
存储
的。在计算机中,我们将
数据
分割成了一个一个的字节(byte),而每个字节又有8位(bit)。一个字节,可以声明为unsignedchar型
数据
,但是有时候不够用,毕竟一...
Big Endian 和 Little Endian
Big Endian 和 Little Endian 一、字节序 ...谈到字节序的问题,必然牵涉到两大...那就是Motorola的
PowerPC
系列CPU和Intel的
x86
系列CPU。
PowerPC
系列采用big endian方式
存储
数据
,而
x86
系列则采用little endian方式
存储
深入浅出SSD
随着
数据
呈爆炸式增长,对
数据
存储
介质在速度上、容量上有更
高
的要求。时势造英雄,固态硬盘(Solid State Disk,SSD)横空出世。SSD使用电子芯片
存储
数据
,没有HDD的机械式部件,因此在速度、时延、功耗、抗震等方面...
《云计算与大
数据
技术应用》
云计算是分布式计算的一种,指的是通过网络“云”将巨大的
数据
计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的...
免费午餐已经结束——软件历史性地向并发靠拢
对主要的处理器厂商以及架构,包括Intel、AMD和Sparc、
PowerPC
[译注1]来说,改善CPU性能的传统方法,如提升时钟速度和指令吞吐量,基本已走到尽头,现在开始向超线程和多核架构靠拢。而且这两个特性(特
C语言
69,368
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章