关于高字节低字节的位置问题。大家帮下忙。。谢谢

子庚 2010-09-14 12:09:16
WCHAR是UCICODE中表示字符的变量类型,占两个字节,不足两个字节的高字节补0,TCHAR产生的原因是微软为了让VC既支持ANSI C的定义方法,又支持UNICODE中的定义方法,
请问那个高字节位于哪个位置(是从左计算还是从右计算),是不同的平台是高字节和低字节的顺序是否会是不同的。

请高手忙解释一下。谢谢
...全文
479 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
myerel 2010-09-14
  • 打赏
  • 举报
回复
例如0x12345678
最高字节就是12,最低字节是78

不同系统可能对于数据存储的不同,一般windows下采用小端存储的方式
即高字节放在低地址
地址 0 1 2 3
数据 78 56 23 12
wyfwx 2010-09-14
  • 打赏
  • 举报
回复
不要考虑具体的字节位置,可以用 移位操作。跨平台通讯 htons转换就可以了
冻结 2010-09-14
  • 打赏
  • 举报
回复
是平台相关的,
不过你要是不做网络方面的应用,
基本不用考虑大端小端。
luciferisnotsatan 2010-09-14
  • 打赏
  • 举报
回复
TCHAR其实是个typedef,编译是根据编译开关来确定是ansi c还是unicode。
mymtom 2010-09-14
  • 打赏
  • 举报
回复
WCHAR 应该不用关心高低字节的问题吧。
guoyu_bo 2010-09-14
  • 打赏
  • 举报
回复
大端从左到右
小端从右到左
熊熊大叔 2010-09-14
  • 打赏
  • 举报
回复
SmallEndian(Intel的CPU), 连续两个字节保存的WCHAR, 高字节保存在高地址, 低字节保存在低地址; BigEndian(PowerPC, MIPS, ARM等)高字节保存在低地址, 低字节保存在高地址

例如0x1234
Addr Addr+1
Intel 0x34 0x12
ARM 0x12 0x34
DotCpp 2010-09-14
  • 打赏
  • 举报
回复
DotCpp 2010-09-14
  • 打赏
  • 举报
回复
一般高字节就指的是左边,就和阿拉伯数字一样,左边是高位

应用层来说,顺序都是相同的,只是计算机存储时要考虑大、小端模式

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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