字节翻转和字节交换的区别
Difference between byte flip and byte swap
我正试图找到差异,因为我在Mac上的计算器中看到的字节翻转功能。
所以我写了一个程序来字节交换一个值,我们从小端到大端或者其他方式,我称之为字节交换。但是当我看到字节翻转时,我不明白它到底是什么,它与字节交换有什么不同。我确实确认了结果不同。
例如,对于值为12976128的int
Byte Flip给我198;字节交换得到50688。
我想实现一个字节翻转算法,因为198是我想在读取时得到的值。在谷歌上任何说字节翻转的东西都会找到帮助字节交换,但对我来说不是这样。
字节翻转和字节交换是同义词。
你看到的结果只是两种不同的字节交换方式,这取决于你是把这个数字看作一个32位的数字(由4个字节组成),还是作为一个可以容纳12976128的最小的数字,它是24位或3个字节。
4字节交换在计算机文化中更为常见,因为32位处理器目前占主导地位(即使64位架构仍然以32位数字进行大部分数学运算,部分原因是向后兼容的软件基础设施,部分原因是它足以满足许多实际目的)。但是Mac计算器似乎使用最小宽度交换,在这种情况下是3字节交换。
12976128转换为十六进制时,得到0xC60000。总共3个字节;每个十六进制数字是4位,或半字节宽。要交换的字节是0xC6、0和另一个0。
3byte后:0x0000C6 = 198
4byte后:0x0000C600 = 50688
相关文章:
- 从不同线程使用int64的不同字节安全吗
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 将Integer转换为4字节的unsined字符矢量(按大端字节顺序)
- 在UNIX系统中使用DIR查找文件的字节大小
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- C++ - "!pointer"和"pointer == nullptr"的区别?
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- std::当在256字节边界上写入整数时,流的奇怪行为
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 我想知道长双倍和双倍之间的区别
- 当比特(而不是字节)的顺序至关重要时的持久性
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- 返回递归调用和仅递归调用的区别
- 从文件中读取多个字节,并将它们存储在C++中进行比较
- 字节翻转和字节交换的区别