C++ 打印数据二进制bit位,以及对位操作的思考
2021-03-27 15:26
标签:lease isp main 数据 demo clu div none spl 近日,因工作需要,将Python解析结构体bytes转换成0和1表示,为了验证结果是否和C++的一致, 需要C++写一个内存数据从低字节到高字节用0和1来表示demo。 从结果来看方法一 和Windows 计算器转换的一致,都是大端的表示方式。 而方法二的输出结果和方法一,字节显示刚好相反,符合Windows 小端的预期。 从方法一的结果错误的原因: 将待计算的n 内存4个字节,共32位 从第到高排序, 分别记为32,31,30, 29,...,1位。 32个位分别构造当前位为1,其他位为0的整数,与之进行&操作,来判断当前位是0 还是1。 在小端的机器上,当进行按位取与操作时, 1 左移位数操作大于8位时,比如1
而是位于左侧第16位,即第17位上。因此无法输出正确的内存表示。 C++ 打印数据二进制bit位,以及对位操作的思考 标签:lease isp main 数据 demo clu div none spl 原文地址:https://www.cnblogs.com/daoist/p/13657755.html#include
上一篇:javascript
下一篇:Java:equals方法详解
文章标题:C++ 打印数据二进制bit位,以及对位操作的思考
文章链接:http://soscw.com/index.php/essay/68629.html