gpt4 book ai didi

c++ - 如何将数字 0-8 转换为 C++ 中的二进制第 0-8 位?

转载 作者:太空宇宙 更新时间:2023-11-04 12:37:03 24 4
gpt4 key购买 nike

我正在尝试使用整数 1-8 来表示二进制位置 D0-D7。
我不知道如何改变它。我试过取最重要的一点,但这对这种情况不起作用..
有关此主题的资源的任何想法或指示?它用于在 OLED 屏幕中寻址。

我试图在 C++ 中想出一个聪明的解决方案。我可以只制作一个开关表,但我认为必须有一种更酷的方式来使用位操作来完成它!

例如

int x = 7
y = convert(x)

if (y == 0b01000000)
print("Success!!")

感谢您的所有帮助!

最佳答案

您正在寻找的是移位 - 将变量中的所有位向左或向右移动。C++ 等语言使用 <<运算符向左移动位。您可能会找到其他 bitwise operators对您的应用程序有用。

使用这个你可以替换convert(x)只需 1 << (x-1) .这会将整数 1 到 8(含)更改为第 0 到第 7 位位置(含)。

关于c++ - 如何将数字 0-8 转换为 C++ 中的二进制第 0-8 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55977868/

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