公告
财富商城
积分规则
提问
发文
2019-01-03 03:34发布
迷人小祖宗
/* 对一个二进制位移,一般什么场景让位移功能存在? 右移有正负数字判断,对二进制数还有正负? 难道-0010? 给个右移的直观教程,动画is wonderful... 谢了。 */
推荐园子里的一篇博文:关于二进制、位运算的心得、特殊应用场景
比如 int 转 byte之类的。
当然也可以直接运算,比如对于整形来说左移1大约就是*2,右移1大约就是/2。
例如参见BinaryWriter(下面的函数是扩展了,去掉Big就是原有的,它里面的实现就有移位):
protected override void OnWriteToBuffer(BinaryWriter writer) { writer.WriterBig(Length); writer.WriterBig(Number); writer.WriterBig((ushort)Catelog); writer.WriterBig(SessionId); writer.WriterBig(Version.Buffer); writer.WriterBig((byte)EncryptOpition); writer.WriterBig(KeyForCommonEncript); }
最多设置5个标签!
推荐园子里的一篇博文:关于二进制、位运算的心得、特殊应用场景
比如 int 转 byte之类的。
当然也可以直接运算,比如对于整形来说左移1大约就是*2,右移1大约就是/2。
例如参见BinaryWriter(下面的函数是扩展了,去掉Big就是原有的,它里面的实现就有移位):
protected override void OnWriteToBuffer(BinaryWriter writer)
{
writer.WriterBig(Length);
writer.WriterBig(Number);
writer.WriterBig((ushort)Catelog);
writer.WriterBig(SessionId);
writer.WriterBig(Version.Buffer);
writer.WriterBig((byte)EncryptOpition);
writer.WriterBig(KeyForCommonEncript);
}