我写的 ASCII 到二进制转换器C++向后显示二进制,如何使其正确显示?
my ascii to binary converter that i wrote in C++ displays binary backwards, how can i make it display right?
好的,所以我用C++写了一个ascii到二进制转换器,一切都很棒,唯一的问题是它向后显示二进制,我不知道如何去做并正确显示它。
#include <iostream>
#include <string>
using namespace std;
int main() {
string word;
getline(cin, word);
for (int i = 0; word[i] != ' '; i++) {
int v = int(word[i]);
while (v != 1 || 0) {
int m = v % 2;
cout << " " << m << " ";
v = v / 2;
}
cout << " " << v;
}
return 0;
}
这就是我的意思。当我运行代码时,它会要求您输入 ascii,所以我输入:
f
十进制为 102,因此它应该显示:
1100110
相反,我得到:
0110011
我该怎么办?
在下面的代码中,使用位掩码来隔离位。 然后打印位的文本形式。 然后沿适当的方向旋转位掩码。
const size_t length = word.length();
for (size_t i = 0; i < length; ++i)
{
char bit_mask = 0x80;
const char value(word[i]);
for (size_t bit_count = 0; bit_count < 8; ++bit_count)
{
char bit_value = value & bit_mask;
if (bit_value)
{
std::cout << '1';
}
else
{
std::cout << '0';
}
bit_mask >>= 1;
}
std::cout << ' ';
}
上面的代码以最高有效位格式打印位。 要更改位顺序,请更改bit_mask
的初始值并向左旋转bit_mask
。
相关文章:
- 我写的 ASCII 到二进制转换器C++向后显示二进制,如何使其正确显示?
- 以 10 c++ 为基数显示 1024 位二进制数
- 二进制文件中的某些数据如图所示,并以奇怪的方式显示OS
- 为什么动态链接的二进制显示硬编码为so name
- 无法使用 fstream 从二进制文件中读取字符串,而是显示奇怪的符号
- 以C++显示浮点类型的二进制表示形式
- 二进制搜索 - 代码编译并运行后不显示输出
- 关于以二进制存储并显示其小数
- 二进制搜索程序。在应用测试用例时给出正确的输出仍然显示" "超出时间限制" "错误
- 在二进制搜索树中显示到节点的路径
- 二进制搜索树顺序树显示
- PDB无法显示发布版本崩溃的确切行号,但在二进制调试版本的情况下显示精确行号
- 数据C++的二进制表示显示的数据不正确
- C++.将二进制文件读入缓冲区后,如何以十六进制显示缓冲区
- OpenGL代码显示人体图形,从二进制文件中读取顶点
- ASCII 和二进制 - 按原样显示,但读取返回垃圾
- 如何让 CMake 在 IDE 中显示不属于任何二进制目标的标头
- 二进制搜索树显示问题
- Qt/C++-转换原始二进制数据并将其显示为图像(即QImage)
- 需要帮助以 16 位二进制显示 2 的赞美