如何读取和重置字符位
how can I read and reset bits of char?
我有一个项目要在c++中用128KB 的虚拟内存做汇编程序和模拟器
我只是想知道如何将char转换为它的相应位?
如何重置char类型的位?
您需要了解目标系统的端序。C和C++不同地定义CCD_ 1的宽度;你需要确保你正在通过正确的偏移量。然后,它只是一个简单的问题,测试每个位偏移相对于一个位掩码。这是我的一个旧代码审查问题中的一些代码;修改为:
#include <stdio.h>
char set_bit(const char x, const char offset, const int value) {
return value ? x | (1 << offset) : x & ~(1 << offset);
}
char get_bit(const char x, const char offset) {
return (x & (1 << offset)) != 0;
}
int main(void) {
int max = sizeof(char) * 8 - 1;
char x = 0;
int count;
for (count = 0; count < max; count += 2)
x = set_bit(x, count, 1);
for (count = max; count >= 0; count--)
printf("%d ", (int) get_bit(x, count));
printf("n");
return 0;
}
输出:
$ g++ main.cpp -o main && ./main
0 1 0 1 0 1 0 1
相关文章:
- 为什么 sscanf 无法从一个字符串中读取uint64_t和字符?
- 如何从一行中读取特定数量的字符?(C++)
- 如何在 C++ 中从文件中读取字符数组(带有一些空格)
- 我想在C++中读取一些多个字符,但它永远不会读取第二个字符
- 如何从文本文件中读取数值,直到遇到字符类型?
- 从矢量C++读取字符时出现问题
- 如何读取单个字符并在输入两个字符序列时输出? 使用 while 循环和C++
- (C/C++)fscanf_s从txt文件以字符形式读取数组时缺少整数参数错误
- C++如何通过忽略每行的第一个字符来读取 unicode 文件
- 尝试以随机字符(长读取)打印字符串返回结果
- 如何从字符中读取ASCII值并将其转换为十六进制格式的字符串
- 为什么在我的测试程序中,从字符缓冲区读取一个int时,"std::copy"5x(!)比"
- C/C++ 从字符缓冲区读取以填充结构
- 如何在 QT C++ 中逐个字符地读取文本文件
- 我怎样才能同时将一系列字符值读取为字符和整数并进行比较
- 使用“std::cin”将用户的4个字符精确读取到一个字符数组中
- 在数组中使用常量字符 * 来读取顺序文件
- c++ std::ifstream:检查是否留下字符供读取
- 我正在写0到255个ascii字符,并试图逐个字符读取它,但不能在第25个字符后读取
- 如何通过添加空格或其他字符来读取用户输入