问一道题目# JobHunting - 待字闺中d*e2011-06-07 07:061 楼题目如下:给你一个max_x X max_y的矩阵内存比特流。每个元素是个bit,0或是1。要求flip一个坐标为x,y的bit.函数接口如下:void flipbit(int x, int y). 并存到一个byte里面。有什么思路?
s*y2011-06-07 07:062 楼could you give out an example?Not quite get it yet.【在 d******e 的大作中提到】: 题目如下:给你一个max_x X max_y的矩阵内存比特流。每个元素是个bit,0或是1。要: 求flip一个坐标为x,y的bit.函数接口如下:: void flipbit(int x, int y). 并存到一个byte里面。: 有什么思路?
c*n2011-06-07 07:065 楼flip不是1变成0,0变成1吗?不需要旋转我觉得主要是下标和位运算的问题如果数据结构是 char[] bits的话典型的一个char是8bit, 假设 max_x = 32那么 d[x][y] 就是 bits[8*x/max_x]的第 8*x%max_x + y 位反转i.e.w = 8*x/max_xb = 8*x%max_x + yif bits[w] & (1 << b ) == 1 thenbits[w] &= ~(1<elsebits[w] |= (1<【在 d******e 的大作中提到】: 就是一副黑白点阵图,存成一个byte array,要求旋转90度,变化成新的byte array.有: 啥奇技淫巧, 儿不需要bit互换?