Я программирую для 256-цветного VGA на C. Размер экрана у меня 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:
get_xy(int offset){
...
}
Однако я до сих пор не могу найти способ перевести одно число в два значения.
Может ли кто-нибудь помочь мне в этом?