我有一些关于endian-ness的问题已经足够相关,我保证将它们作为一个问题加入:
1)字节是由.Net还是由硬件决定的?
2)如果由硬件决定,我怎样才能弄清楚硬件在C#中的端点?
3)endian-ness是否影响二进制交互,如OR,AND,XOR或移位?IE将向右移动一次总是偏离最不重要的位?
4)我对此表示怀疑,但不同版本的.Net框架的字节序有何不同?我假设他们都是一样的,但我已经学会停止假设一些较低级别的细节,比如这个.
如果需要,我可以问这些不同的问题,但我认为任何知道其中一个答案的人可能都知道所有人的答案(或者可以指出我的方向).
Ste*_*ary 31
1)硬件.
2) BitConverter.IsLittleEndian
3)字节顺序不影响按位运算.向右移动正在向最不显着位方向移动.来自Oops评论的更新:但是,字节顺序确实会影响二进制输入和输出.当读取或写入大于一个字节的值(例如,int从a BinaryReader或使用中读取BitConverter)时,您必须考虑字节序.一旦正确读取值,则所有按位操作都正常.
4)大多数.NET版本都是小端.值得注意的例外包括XBox和Mono或Compact Framework支持的一些平台.
| 归档时间: |
|
| 查看次数: |
4419 次 |
| 最近记录: |