字节中,位顺序bit0->bit7,是从左到右开始还是从右到左?

ERR0RC0DE 2008-04-28 03:53:56
平时没注意,今天看一通信协议,说某字节的bit0是啥啥啥,bit7是啥啥啥,突然忘了它的顺序是从哪到哪的了。

我平时都是从左到右的,不知正确不?
如:二进制:
1010 1010
bit0->bit7
跟大家确认下。

另:不知这顺序跟OS平台有关不?或跟啥有关。多谢。
...全文
16331 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ninver2007 2008-04-30
  • 打赏
  • 举报
回复
大小端的问题 网络一般都是大端
raincross98 2008-04-28
  • 打赏
  • 举报
回复 3
bit0是最右端的,bit7是最左端的
ERR0RC0DE 2008-04-28
  • 打赏
  • 举报
回复
写了段,又明白了。哈,刚才有点糊涂了。
薛定谔之死猫 2008-04-28
  • 打赏
  • 举报
回复
8421倒过来就是bit啥啥啥的顺序了,一般都这么说的
baihacker 2008-04-28
  • 打赏
  • 举报
回复
程序没有错,只是这个可以用宏来代替...
ERR0RC0DE 2008-04-28
  • 打赏
  • 举报
回复
习惯用变量处理,我好像是这样写的:
const BIT0 = 1; BIT1 = 1 << 1; BIT2 = 1 << 2;....BIT7 = 1 << 7;


然后
void SetBit(BYTE &v, BYTE index, bool value)
{
BYTE bits[8] = {BIT0, BIT1....BIT7};
if (value)
v = v | bits[index]
else
v = v & (~bits[index])
}

这个这个,bits[8]定义有没错?
baihacker 2008-04-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
写出来的时候,是bit0在最左端
在内存中的时候,是bit0在低位
[/Quote]
晕,是右端,怎么写错了.
baihacker 2008-04-28
  • 打赏
  • 举报
回复
写出来的时候,是bit0在最左端
在内存中的时候,是bit0在低位

65,170

社区成员

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

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