gpt4 book ai didi

c++ - 如何将二进制 "string"转换为字符串

转载 作者:行者123 更新时间:2023-11-28 05:57:04 25 4
gpt4 key购买 nike

我已经研究这个问题一段时间了,但没有任何进展。那么我如何才能将二进制字符串转换为我可以像字符串一样编辑的内容。

类似这样的事情(对伪代码感到抱歉。)

unsigned char binary = 0100001100001111;

string binaryString = binary.tostring;
//binaryString = 0100001100001111 (as a string)

如果这也是可能的,我想知道是否可以从字符串中“删除”某些字符,并用其他字符替换它们。 (有点像 C# 中的 .remove()。)

编辑:二进制代码存储在

unsigned char gfx[32 * 64];

并在这段代码中设置:

x = V[(opcode & 0x0F00) >> 8];
y = V[(opcode & 0x00F0) >> 4];
height = opcode & 0x000F;

V[0xF] = 0;
for (int yline = 0; yline < height; yline++)
{
pixel = memory[I + yline];
for (int xline = 0; xline < 8; xline++)
{
if ((pixel & (0x80 >> xline)) != 0)
{
if (gfx[(x + xline + ((y + yline) * 64))] == 1)
{
V[0xF] = 1;
}
gfx[x + xline + ((y + yline) * 64)] ^= 0x1;
}
}
}

其中opcodeVPixel都是十六进制值。

最佳答案

只是为了好玩:

#include <iostream>

template <typename T>
struct bit_string
{
char data[sizeof(T) * 8 + 1];

explicit bit_string(T x)
{
constexpr size_t n = sizeof(T) * 8;
for (size_t i = 0; i != n; ++i)
data[n - i - 1] = (x & (1 << i)) ? '1' : '0';
data[n] = '\0';
}

operator const char * () const
{
return data;
}
};

int main()
{
using namespace std;

cout << bit_string<unsigned short>(1000) << endl;
}

0000001111101000

关于c++ - 如何将二进制 "string"转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33950647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com