gpt4 book ai didi

c - VGA编程在C : Getting the x, y坐标从和偏移量

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

我正在用 C 为 256 色 VGA 编程。我的屏幕尺寸是 320*200,所以基于这个假设,我将我的绘图像素函数设置为如下:

void plot_pixel(int x, int y, byte color){
int offset;
offset = (y<<8) + (y<<6) + x;
VGA[offset]=color;
}

我总是将屏幕的 x、y 坐标转换为显存的偏移量。我正在努力实现的是做相反的事情。我想发送一个视频偏移函数,并返回一个数组,其中包含对应于 x 和 y 坐标的 2 个整数:

get_xy(int offset){
...
}

但是,我仍然找不到将单个数字转换为两个值的方法。

谁能帮我实现这个目标?

最佳答案

简单的数学逆向。最好使用 unsigned 类型。

y = offset/((1<<8) + (1<<6)); 
x = offset%((1<<8) + (1<<6));

关于c - VGA编程在C : Getting the x, y坐标从和偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190985/

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