1Testing with TEST_LENGTH = 64 2 3test _bit_byte, _bit_mask, and bitstr_size 4 i _bit_byte(i) _bit_mask(i) bitstr_size(i) 5 0 0 1 0 6 1 0 2 1 7 2 0 4 1 8 3 0 8 1 9 4 0 16 1 10 5 0 32 1 11 6 0 64 1 12 7 0 128 1 13 8 1 1 1 14 9 1 2 2 15 10 1 4 2 16 11 1 8 2 17 12 1 16 2 18 13 1 32 2 19 14 1 64 2 20 15 1 128 2 21 16 2 1 2 22 17 2 2 3 23 18 2 4 3 24 19 2 8 3 25 20 2 16 3 26 21 2 32 3 27 22 2 64 3 28 23 2 128 3 29 24 3 1 3 30 25 3 2 4 31 26 3 4 4 32 27 3 8 4 33 28 3 16 4 34 29 3 32 4 35 30 3 64 4 36 31 3 128 4 37 32 4 1 4 38 33 4 2 5 39 34 4 4 5 40 35 4 8 5 41 36 4 16 5 42 37 4 32 5 43 38 4 64 5 44 39 4 128 5 45 40 5 1 5 46 41 5 2 6 47 42 5 4 6 48 43 5 8 6 49 44 5 16 6 50 45 5 32 6 51 46 5 64 6 52 47 5 128 6 53 48 6 1 6 54 49 6 2 7 55 50 6 4 7 56 51 6 8 7 57 52 6 16 7 58 53 6 32 7 59 54 6 64 7 60 55 6 128 7 61 56 7 1 7 62 57 7 2 8 63 58 7 4 8 64 59 7 8 8 65 60 7 16 8 66 61 7 32 8 67 62 7 64 8 68 63 7 128 8 69 70test bit_alloc, clearbits, bit_ffc, bit_ffs 71be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 72is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 73 74test bit_set 75be: 1 0 1001001001001001001001001001001001001001001001001001001001001001 76is: 1 0 1001001001001001001001001001001001001001001001001001001001001001 77 78test bit_clear 79be: 0 3 0001000001000001000001000001000001000001000001000001000001000001 80is: 0 3 0001000001000001000001000001000001000001000001000001000001000001 81 82test bit_test using previous bitstring 83 i bit_test(i) 84 0 0 85 1 0 86 2 0 87 3 8 88 4 0 89 5 0 90 6 0 91 7 0 92 8 0 93 9 2 94 10 0 95 11 0 96 12 0 97 13 0 98 14 0 99 15 128 100 16 0 101 17 0 102 18 0 103 19 0 104 20 0 105 21 32 106 22 0 107 23 0 108 24 0 109 25 0 110 26 0 111 27 8 112 28 0 113 29 0 114 30 0 115 31 0 116 32 0 117 33 2 118 34 0 119 35 0 120 36 0 121 37 0 122 38 0 123 39 128 124 40 0 125 41 0 126 42 0 127 43 0 128 44 0 129 45 32 130 46 0 131 47 0 132 48 0 133 49 0 134 50 0 135 51 8 136 52 0 137 53 0 138 54 0 139 55 0 140 56 0 141 57 2 142 58 0 143 59 0 144 60 0 145 61 0 146 62 0 147 63 128 148 149test clearbits 150be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 151is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 152 153test bit_nset and bit_nclear 154be: 0 1 0111111111111111111111111111111111111111111111111111111111111110 155is: 0 1 0111111111111111111111111111111111111111111111111111111111111110 156be: 0 1 0100000000000000000000000000000000000000000000000000000000000010 157is: 0 1 0100000000000000000000000000000000000000000000000000000000000010 158be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 159is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 160be: 63 0 1111111111111111111111111111111111111111111111111111111111111110 161is: 63 0 1111111111111111111111111111111111111111111111111111111111111110 162be: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 163is: 0 -1 0000000000000000000000000000000000000000000000000000000000000000 164 165first 1 bit should move right 1 position each line 166 0 -1 0 1111111111111111111111111111111111111111111111111111111111111111 167 1 0 1 0111111111111111111111111111111111111111111111111111111111111111 168 2 0 2 0011111111111111111111111111111111111111111111111111111111111111 169 3 0 3 0001111111111111111111111111111111111111111111111111111111111111 170 4 0 4 0000111111111111111111111111111111111111111111111111111111111111 171 5 0 5 0000011111111111111111111111111111111111111111111111111111111111 172 6 0 6 0000001111111111111111111111111111111111111111111111111111111111 173 7 0 7 0000000111111111111111111111111111111111111111111111111111111111 174 8 0 8 0000000011111111111111111111111111111111111111111111111111111111 175 9 0 9 0000000001111111111111111111111111111111111111111111111111111111 176 10 0 10 0000000000111111111111111111111111111111111111111111111111111111 177 11 0 11 0000000000011111111111111111111111111111111111111111111111111111 178 12 0 12 0000000000001111111111111111111111111111111111111111111111111111 179 13 0 13 0000000000000111111111111111111111111111111111111111111111111111 180 14 0 14 0000000000000011111111111111111111111111111111111111111111111111 181 15 0 15 0000000000000001111111111111111111111111111111111111111111111111 182 16 0 16 0000000000000000111111111111111111111111111111111111111111111111 183 17 0 17 0000000000000000011111111111111111111111111111111111111111111111 184 18 0 18 0000000000000000001111111111111111111111111111111111111111111111 185 19 0 19 0000000000000000000111111111111111111111111111111111111111111111 186 20 0 20 0000000000000000000011111111111111111111111111111111111111111111 187 21 0 21 0000000000000000000001111111111111111111111111111111111111111111 188 22 0 22 0000000000000000000000111111111111111111111111111111111111111111 189 23 0 23 0000000000000000000000011111111111111111111111111111111111111111 190 24 0 24 0000000000000000000000001111111111111111111111111111111111111111 191 25 0 25 0000000000000000000000000111111111111111111111111111111111111111 192 26 0 26 0000000000000000000000000011111111111111111111111111111111111111 193 27 0 27 0000000000000000000000000001111111111111111111111111111111111111 194 28 0 28 0000000000000000000000000000111111111111111111111111111111111111 195 29 0 29 0000000000000000000000000000011111111111111111111111111111111111 196 30 0 30 0000000000000000000000000000001111111111111111111111111111111111 197 31 0 31 0000000000000000000000000000000111111111111111111111111111111111 198 32 0 32 0000000000000000000000000000000011111111111111111111111111111111 199 33 0 33 0000000000000000000000000000000001111111111111111111111111111111 200 34 0 34 0000000000000000000000000000000000111111111111111111111111111111 201 35 0 35 0000000000000000000000000000000000011111111111111111111111111111 202 36 0 36 0000000000000000000000000000000000001111111111111111111111111111 203 37 0 37 0000000000000000000000000000000000000111111111111111111111111111 204 38 0 38 0000000000000000000000000000000000000011111111111111111111111111 205 39 0 39 0000000000000000000000000000000000000001111111111111111111111111 206 40 0 40 0000000000000000000000000000000000000000111111111111111111111111 207 41 0 41 0000000000000000000000000000000000000000011111111111111111111111 208 42 0 42 0000000000000000000000000000000000000000001111111111111111111111 209 43 0 43 0000000000000000000000000000000000000000000111111111111111111111 210 44 0 44 0000000000000000000000000000000000000000000011111111111111111111 211 45 0 45 0000000000000000000000000000000000000000000001111111111111111111 212 46 0 46 0000000000000000000000000000000000000000000000111111111111111111 213 47 0 47 0000000000000000000000000000000000000000000000011111111111111111 214 48 0 48 0000000000000000000000000000000000000000000000001111111111111111 215 49 0 49 0000000000000000000000000000000000000000000000000111111111111111 216 50 0 50 0000000000000000000000000000000000000000000000000011111111111111 217 51 0 51 0000000000000000000000000000000000000000000000000001111111111111 218 52 0 52 0000000000000000000000000000000000000000000000000000111111111111 219 53 0 53 0000000000000000000000000000000000000000000000000000011111111111 220 54 0 54 0000000000000000000000000000000000000000000000000000001111111111 221 55 0 55 0000000000000000000000000000000000000000000000000000000111111111 222 56 0 56 0000000000000000000000000000000000000000000000000000000011111111 223 57 0 57 0000000000000000000000000000000000000000000000000000000001111111 224 58 0 58 0000000000000000000000000000000000000000000000000000000000111111 225 59 0 59 0000000000000000000000000000000000000000000000000000000000011111 226 60 0 60 0000000000000000000000000000000000000000000000000000000000001111 227 61 0 61 0000000000000000000000000000000000000000000000000000000000000111 228 62 0 62 0000000000000000000000000000000000000000000000000000000000000011 229 63 0 63 0000000000000000000000000000000000000000000000000000000000000001 230 231first 0 bit should move right 1 position each line 232 0 0 -1 0000000000000000000000000000000000000000000000000000000000000000 233 1 1 0 1000000000000000000000000000000000000000000000000000000000000000 234 2 2 0 1100000000000000000000000000000000000000000000000000000000000000 235 3 3 0 1110000000000000000000000000000000000000000000000000000000000000 236 4 4 0 1111000000000000000000000000000000000000000000000000000000000000 237 5 5 0 1111100000000000000000000000000000000000000000000000000000000000 238 6 6 0 1111110000000000000000000000000000000000000000000000000000000000 239 7 7 0 1111111000000000000000000000000000000000000000000000000000000000 240 8 8 0 1111111100000000000000000000000000000000000000000000000000000000 241 9 9 0 1111111110000000000000000000000000000000000000000000000000000000 242 10 10 0 1111111111000000000000000000000000000000000000000000000000000000 243 11 11 0 1111111111100000000000000000000000000000000000000000000000000000 244 12 12 0 1111111111110000000000000000000000000000000000000000000000000000 245 13 13 0 1111111111111000000000000000000000000000000000000000000000000000 246 14 14 0 1111111111111100000000000000000000000000000000000000000000000000 247 15 15 0 1111111111111110000000000000000000000000000000000000000000000000 248 16 16 0 1111111111111111000000000000000000000000000000000000000000000000 249 17 17 0 1111111111111111100000000000000000000000000000000000000000000000 250 18 18 0 1111111111111111110000000000000000000000000000000000000000000000 251 19 19 0 1111111111111111111000000000000000000000000000000000000000000000 252 20 20 0 1111111111111111111100000000000000000000000000000000000000000000 253 21 21 0 1111111111111111111110000000000000000000000000000000000000000000 254 22 22 0 1111111111111111111111000000000000000000000000000000000000000000 255 23 23 0 1111111111111111111111100000000000000000000000000000000000000000 256 24 24 0 1111111111111111111111110000000000000000000000000000000000000000 257 25 25 0 1111111111111111111111111000000000000000000000000000000000000000 258 26 26 0 1111111111111111111111111100000000000000000000000000000000000000 259 27 27 0 1111111111111111111111111110000000000000000000000000000000000000 260 28 28 0 1111111111111111111111111111000000000000000000000000000000000000 261 29 29 0 1111111111111111111111111111100000000000000000000000000000000000 262 30 30 0 1111111111111111111111111111110000000000000000000000000000000000 263 31 31 0 1111111111111111111111111111111000000000000000000000000000000000 264 32 32 0 1111111111111111111111111111111100000000000000000000000000000000 265 33 33 0 1111111111111111111111111111111110000000000000000000000000000000 266 34 34 0 1111111111111111111111111111111111000000000000000000000000000000 267 35 35 0 1111111111111111111111111111111111100000000000000000000000000000 268 36 36 0 1111111111111111111111111111111111110000000000000000000000000000 269 37 37 0 1111111111111111111111111111111111111000000000000000000000000000 270 38 38 0 1111111111111111111111111111111111111100000000000000000000000000 271 39 39 0 1111111111111111111111111111111111111110000000000000000000000000 272 40 40 0 1111111111111111111111111111111111111111000000000000000000000000 273 41 41 0 1111111111111111111111111111111111111111100000000000000000000000 274 42 42 0 1111111111111111111111111111111111111111110000000000000000000000 275 43 43 0 1111111111111111111111111111111111111111111000000000000000000000 276 44 44 0 1111111111111111111111111111111111111111111100000000000000000000 277 45 45 0 1111111111111111111111111111111111111111111110000000000000000000 278 46 46 0 1111111111111111111111111111111111111111111111000000000000000000 279 47 47 0 1111111111111111111111111111111111111111111111100000000000000000 280 48 48 0 1111111111111111111111111111111111111111111111110000000000000000 281 49 49 0 1111111111111111111111111111111111111111111111111000000000000000 282 50 50 0 1111111111111111111111111111111111111111111111111100000000000000 283 51 51 0 1111111111111111111111111111111111111111111111111110000000000000 284 52 52 0 1111111111111111111111111111111111111111111111111111000000000000 285 53 53 0 1111111111111111111111111111111111111111111111111111100000000000 286 54 54 0 1111111111111111111111111111111111111111111111111111110000000000 287 55 55 0 1111111111111111111111111111111111111111111111111111111000000000 288 56 56 0 1111111111111111111111111111111111111111111111111111111100000000 289 57 57 0 1111111111111111111111111111111111111111111111111111111110000000 290 58 58 0 1111111111111111111111111111111111111111111111111111111111000000 291 59 59 0 1111111111111111111111111111111111111111111111111111111111100000 292 60 60 0 1111111111111111111111111111111111111111111111111111111111110000 293 61 61 0 1111111111111111111111111111111111111111111111111111111111111000 294 62 62 0 1111111111111111111111111111111111111111111111111111111111111100 295 63 63 0 1111111111111111111111111111111111111111111111111111111111111110 296 297first 0 bit should move left 1 position each line 298 0 -1 0 1111111111111111111111111111111111111111111111111111111111111111 299 1 63 0 1111111111111111111111111111111111111111111111111111111111111110 300 2 62 0 1111111111111111111111111111111111111111111111111111111111111100 301 3 61 0 1111111111111111111111111111111111111111111111111111111111111000 302 4 60 0 1111111111111111111111111111111111111111111111111111111111110000 303 5 59 0 1111111111111111111111111111111111111111111111111111111111100000 304 6 58 0 1111111111111111111111111111111111111111111111111111111111000000 305 7 57 0 1111111111111111111111111111111111111111111111111111111110000000 306 8 56 0 1111111111111111111111111111111111111111111111111111111100000000 307 9 55 0 1111111111111111111111111111111111111111111111111111111000000000 308 10 54 0 1111111111111111111111111111111111111111111111111111110000000000 309 11 53 0 1111111111111111111111111111111111111111111111111111100000000000 310 12 52 0 1111111111111111111111111111111111111111111111111111000000000000 311 13 51 0 1111111111111111111111111111111111111111111111111110000000000000 312 14 50 0 1111111111111111111111111111111111111111111111111100000000000000 313 15 49 0 1111111111111111111111111111111111111111111111111000000000000000 314 16 48 0 1111111111111111111111111111111111111111111111110000000000000000 315 17 47 0 1111111111111111111111111111111111111111111111100000000000000000 316 18 46 0 1111111111111111111111111111111111111111111111000000000000000000 317 19 45 0 1111111111111111111111111111111111111111111110000000000000000000 318 20 44 0 1111111111111111111111111111111111111111111100000000000000000000 319 21 43 0 1111111111111111111111111111111111111111111000000000000000000000 320 22 42 0 1111111111111111111111111111111111111111110000000000000000000000 321 23 41 0 1111111111111111111111111111111111111111100000000000000000000000 322 24 40 0 1111111111111111111111111111111111111111000000000000000000000000 323 25 39 0 1111111111111111111111111111111111111110000000000000000000000000 324 26 38 0 1111111111111111111111111111111111111100000000000000000000000000 325 27 37 0 1111111111111111111111111111111111111000000000000000000000000000 326 28 36 0 1111111111111111111111111111111111110000000000000000000000000000 327 29 35 0 1111111111111111111111111111111111100000000000000000000000000000 328 30 34 0 1111111111111111111111111111111111000000000000000000000000000000 329 31 33 0 1111111111111111111111111111111110000000000000000000000000000000 330 32 32 0 1111111111111111111111111111111100000000000000000000000000000000 331 33 31 0 1111111111111111111111111111111000000000000000000000000000000000 332 34 30 0 1111111111111111111111111111110000000000000000000000000000000000 333 35 29 0 1111111111111111111111111111100000000000000000000000000000000000 334 36 28 0 1111111111111111111111111111000000000000000000000000000000000000 335 37 27 0 1111111111111111111111111110000000000000000000000000000000000000 336 38 26 0 1111111111111111111111111100000000000000000000000000000000000000 337 39 25 0 1111111111111111111111111000000000000000000000000000000000000000 338 40 24 0 1111111111111111111111110000000000000000000000000000000000000000 339 41 23 0 1111111111111111111111100000000000000000000000000000000000000000 340 42 22 0 1111111111111111111111000000000000000000000000000000000000000000 341 43 21 0 1111111111111111111110000000000000000000000000000000000000000000 342 44 20 0 1111111111111111111100000000000000000000000000000000000000000000 343 45 19 0 1111111111111111111000000000000000000000000000000000000000000000 344 46 18 0 1111111111111111110000000000000000000000000000000000000000000000 345 47 17 0 1111111111111111100000000000000000000000000000000000000000000000 346 48 16 0 1111111111111111000000000000000000000000000000000000000000000000 347 49 15 0 1111111111111110000000000000000000000000000000000000000000000000 348 50 14 0 1111111111111100000000000000000000000000000000000000000000000000 349 51 13 0 1111111111111000000000000000000000000000000000000000000000000000 350 52 12 0 1111111111110000000000000000000000000000000000000000000000000000 351 53 11 0 1111111111100000000000000000000000000000000000000000000000000000 352 54 10 0 1111111111000000000000000000000000000000000000000000000000000000 353 55 9 0 1111111110000000000000000000000000000000000000000000000000000000 354 56 8 0 1111111100000000000000000000000000000000000000000000000000000000 355 57 7 0 1111111000000000000000000000000000000000000000000000000000000000 356 58 6 0 1111110000000000000000000000000000000000000000000000000000000000 357 59 5 0 1111100000000000000000000000000000000000000000000000000000000000 358 60 4 0 1111000000000000000000000000000000000000000000000000000000000000 359 61 3 0 1110000000000000000000000000000000000000000000000000000000000000 360 62 2 0 1100000000000000000000000000000000000000000000000000000000000000 361 63 1 0 1000000000000000000000000000000000000000000000000000000000000000 362 363first 1 bit should move left 1 position each line 364 0 0 -1 0000000000000000000000000000000000000000000000000000000000000000 365 1 0 63 0000000000000000000000000000000000000000000000000000000000000001 366 2 0 62 0000000000000000000000000000000000000000000000000000000000000011 367 3 0 61 0000000000000000000000000000000000000000000000000000000000000111 368 4 0 60 0000000000000000000000000000000000000000000000000000000000001111 369 5 0 59 0000000000000000000000000000000000000000000000000000000000011111 370 6 0 58 0000000000000000000000000000000000000000000000000000000000111111 371 7 0 57 0000000000000000000000000000000000000000000000000000000001111111 372 8 0 56 0000000000000000000000000000000000000000000000000000000011111111 373 9 0 55 0000000000000000000000000000000000000000000000000000000111111111 374 10 0 54 0000000000000000000000000000000000000000000000000000001111111111 375 11 0 53 0000000000000000000000000000000000000000000000000000011111111111 376 12 0 52 0000000000000000000000000000000000000000000000000000111111111111 377 13 0 51 0000000000000000000000000000000000000000000000000001111111111111 378 14 0 50 0000000000000000000000000000000000000000000000000011111111111111 379 15 0 49 0000000000000000000000000000000000000000000000000111111111111111 380 16 0 48 0000000000000000000000000000000000000000000000001111111111111111 381 17 0 47 0000000000000000000000000000000000000000000000011111111111111111 382 18 0 46 0000000000000000000000000000000000000000000000111111111111111111 383 19 0 45 0000000000000000000000000000000000000000000001111111111111111111 384 20 0 44 0000000000000000000000000000000000000000000011111111111111111111 385 21 0 43 0000000000000000000000000000000000000000000111111111111111111111 386 22 0 42 0000000000000000000000000000000000000000001111111111111111111111 387 23 0 41 0000000000000000000000000000000000000000011111111111111111111111 388 24 0 40 0000000000000000000000000000000000000000111111111111111111111111 389 25 0 39 0000000000000000000000000000000000000001111111111111111111111111 390 26 0 38 0000000000000000000000000000000000000011111111111111111111111111 391 27 0 37 0000000000000000000000000000000000000111111111111111111111111111 392 28 0 36 0000000000000000000000000000000000001111111111111111111111111111 393 29 0 35 0000000000000000000000000000000000011111111111111111111111111111 394 30 0 34 0000000000000000000000000000000000111111111111111111111111111111 395 31 0 33 0000000000000000000000000000000001111111111111111111111111111111 396 32 0 32 0000000000000000000000000000000011111111111111111111111111111111 397 33 0 31 0000000000000000000000000000000111111111111111111111111111111111 398 34 0 30 0000000000000000000000000000001111111111111111111111111111111111 399 35 0 29 0000000000000000000000000000011111111111111111111111111111111111 400 36 0 28 0000000000000000000000000000111111111111111111111111111111111111 401 37 0 27 0000000000000000000000000001111111111111111111111111111111111111 402 38 0 26 0000000000000000000000000011111111111111111111111111111111111111 403 39 0 25 0000000000000000000000000111111111111111111111111111111111111111 404 40 0 24 0000000000000000000000001111111111111111111111111111111111111111 405 41 0 23 0000000000000000000000011111111111111111111111111111111111111111 406 42 0 22 0000000000000000000000111111111111111111111111111111111111111111 407 43 0 21 0000000000000000000001111111111111111111111111111111111111111111 408 44 0 20 0000000000000000000011111111111111111111111111111111111111111111 409 45 0 19 0000000000000000000111111111111111111111111111111111111111111111 410 46 0 18 0000000000000000001111111111111111111111111111111111111111111111 411 47 0 17 0000000000000000011111111111111111111111111111111111111111111111 412 48 0 16 0000000000000000111111111111111111111111111111111111111111111111 413 49 0 15 0000000000000001111111111111111111111111111111111111111111111111 414 50 0 14 0000000000000011111111111111111111111111111111111111111111111111 415 51 0 13 0000000000000111111111111111111111111111111111111111111111111111 416 52 0 12 0000000000001111111111111111111111111111111111111111111111111111 417 53 0 11 0000000000011111111111111111111111111111111111111111111111111111 418 54 0 10 0000000000111111111111111111111111111111111111111111111111111111 419 55 0 9 0000000001111111111111111111111111111111111111111111111111111111 420 56 0 8 0000000011111111111111111111111111111111111111111111111111111111 421 57 0 7 0000000111111111111111111111111111111111111111111111111111111111 422 58 0 6 0000001111111111111111111111111111111111111111111111111111111111 423 59 0 5 0000011111111111111111111111111111111111111111111111111111111111 424 60 0 4 0000111111111111111111111111111111111111111111111111111111111111 425 61 0 3 0001111111111111111111111111111111111111111111111111111111111111 426 62 0 2 0011111111111111111111111111111111111111111111111111111111111111 427 63 0 1 0111111111111111111111111111111111111111111111111111111111111111 428 4290 bit should move right 1 position each line 430 0 0 1 0111111111111111111111111111111111111111111111111111111111111111 431 1 1 0 1011111111111111111111111111111111111111111111111111111111111111 432 2 2 0 1101111111111111111111111111111111111111111111111111111111111111 433 3 3 0 1110111111111111111111111111111111111111111111111111111111111111 434 4 4 0 1111011111111111111111111111111111111111111111111111111111111111 435 5 5 0 1111101111111111111111111111111111111111111111111111111111111111 436 6 6 0 1111110111111111111111111111111111111111111111111111111111111111 437 7 7 0 1111111011111111111111111111111111111111111111111111111111111111 438 8 8 0 1111111101111111111111111111111111111111111111111111111111111111 439 9 9 0 1111111110111111111111111111111111111111111111111111111111111111 440 10 10 0 1111111111011111111111111111111111111111111111111111111111111111 441 11 11 0 1111111111101111111111111111111111111111111111111111111111111111 442 12 12 0 1111111111110111111111111111111111111111111111111111111111111111 443 13 13 0 1111111111111011111111111111111111111111111111111111111111111111 444 14 14 0 1111111111111101111111111111111111111111111111111111111111111111 445 15 15 0 1111111111111110111111111111111111111111111111111111111111111111 446 16 16 0 1111111111111111011111111111111111111111111111111111111111111111 447 17 17 0 1111111111111111101111111111111111111111111111111111111111111111 448 18 18 0 1111111111111111110111111111111111111111111111111111111111111111 449 19 19 0 1111111111111111111011111111111111111111111111111111111111111111 450 20 20 0 1111111111111111111101111111111111111111111111111111111111111111 451 21 21 0 1111111111111111111110111111111111111111111111111111111111111111 452 22 22 0 1111111111111111111111011111111111111111111111111111111111111111 453 23 23 0 1111111111111111111111101111111111111111111111111111111111111111 454 24 24 0 1111111111111111111111110111111111111111111111111111111111111111 455 25 25 0 1111111111111111111111111011111111111111111111111111111111111111 456 26 26 0 1111111111111111111111111101111111111111111111111111111111111111 457 27 27 0 1111111111111111111111111110111111111111111111111111111111111111 458 28 28 0 1111111111111111111111111111011111111111111111111111111111111111 459 29 29 0 1111111111111111111111111111101111111111111111111111111111111111 460 30 30 0 1111111111111111111111111111110111111111111111111111111111111111 461 31 31 0 1111111111111111111111111111111011111111111111111111111111111111 462 32 32 0 1111111111111111111111111111111101111111111111111111111111111111 463 33 33 0 1111111111111111111111111111111110111111111111111111111111111111 464 34 34 0 1111111111111111111111111111111111011111111111111111111111111111 465 35 35 0 1111111111111111111111111111111111101111111111111111111111111111 466 36 36 0 1111111111111111111111111111111111110111111111111111111111111111 467 37 37 0 1111111111111111111111111111111111111011111111111111111111111111 468 38 38 0 1111111111111111111111111111111111111101111111111111111111111111 469 39 39 0 1111111111111111111111111111111111111110111111111111111111111111 470 40 40 0 1111111111111111111111111111111111111111011111111111111111111111 471 41 41 0 1111111111111111111111111111111111111111101111111111111111111111 472 42 42 0 1111111111111111111111111111111111111111110111111111111111111111 473 43 43 0 1111111111111111111111111111111111111111111011111111111111111111 474 44 44 0 1111111111111111111111111111111111111111111101111111111111111111 475 45 45 0 1111111111111111111111111111111111111111111110111111111111111111 476 46 46 0 1111111111111111111111111111111111111111111111011111111111111111 477 47 47 0 1111111111111111111111111111111111111111111111101111111111111111 478 48 48 0 1111111111111111111111111111111111111111111111110111111111111111 479 49 49 0 1111111111111111111111111111111111111111111111111011111111111111 480 50 50 0 1111111111111111111111111111111111111111111111111101111111111111 481 51 51 0 1111111111111111111111111111111111111111111111111110111111111111 482 52 52 0 1111111111111111111111111111111111111111111111111111011111111111 483 53 53 0 1111111111111111111111111111111111111111111111111111101111111111 484 54 54 0 1111111111111111111111111111111111111111111111111111110111111111 485 55 55 0 1111111111111111111111111111111111111111111111111111111011111111 486 56 56 0 1111111111111111111111111111111111111111111111111111111101111111 487 57 57 0 1111111111111111111111111111111111111111111111111111111110111111 488 58 58 0 1111111111111111111111111111111111111111111111111111111111011111 489 59 59 0 1111111111111111111111111111111111111111111111111111111111101111 490 60 60 0 1111111111111111111111111111111111111111111111111111111111110111 491 61 61 0 1111111111111111111111111111111111111111111111111111111111111011 492 62 62 0 1111111111111111111111111111111111111111111111111111111111111101 493 63 63 0 1111111111111111111111111111111111111111111111111111111111111110 494 4951 bit should move right 1 position each line 496 0 1 0 1000000000000000000000000000000000000000000000000000000000000000 497 1 0 1 0100000000000000000000000000000000000000000000000000000000000000 498 2 0 2 0010000000000000000000000000000000000000000000000000000000000000 499 3 0 3 0001000000000000000000000000000000000000000000000000000000000000 500 4 0 4 0000100000000000000000000000000000000000000000000000000000000000 501 5 0 5 0000010000000000000000000000000000000000000000000000000000000000 502 6 0 6 0000001000000000000000000000000000000000000000000000000000000000 503 7 0 7 0000000100000000000000000000000000000000000000000000000000000000 504 8 0 8 0000000010000000000000000000000000000000000000000000000000000000 505 9 0 9 0000000001000000000000000000000000000000000000000000000000000000 506 10 0 10 0000000000100000000000000000000000000000000000000000000000000000 507 11 0 11 0000000000010000000000000000000000000000000000000000000000000000 508 12 0 12 0000000000001000000000000000000000000000000000000000000000000000 509 13 0 13 0000000000000100000000000000000000000000000000000000000000000000 510 14 0 14 0000000000000010000000000000000000000000000000000000000000000000 511 15 0 15 0000000000000001000000000000000000000000000000000000000000000000 512 16 0 16 0000000000000000100000000000000000000000000000000000000000000000 513 17 0 17 0000000000000000010000000000000000000000000000000000000000000000 514 18 0 18 0000000000000000001000000000000000000000000000000000000000000000 515 19 0 19 0000000000000000000100000000000000000000000000000000000000000000 516 20 0 20 0000000000000000000010000000000000000000000000000000000000000000 517 21 0 21 0000000000000000000001000000000000000000000000000000000000000000 518 22 0 22 0000000000000000000000100000000000000000000000000000000000000000 519 23 0 23 0000000000000000000000010000000000000000000000000000000000000000 520 24 0 24 0000000000000000000000001000000000000000000000000000000000000000 521 25 0 25 0000000000000000000000000100000000000000000000000000000000000000 522 26 0 26 0000000000000000000000000010000000000000000000000000000000000000 523 27 0 27 0000000000000000000000000001000000000000000000000000000000000000 524 28 0 28 0000000000000000000000000000100000000000000000000000000000000000 525 29 0 29 0000000000000000000000000000010000000000000000000000000000000000 526 30 0 30 0000000000000000000000000000001000000000000000000000000000000000 527 31 0 31 0000000000000000000000000000000100000000000000000000000000000000 528 32 0 32 0000000000000000000000000000000010000000000000000000000000000000 529 33 0 33 0000000000000000000000000000000001000000000000000000000000000000 530 34 0 34 0000000000000000000000000000000000100000000000000000000000000000 531 35 0 35 0000000000000000000000000000000000010000000000000000000000000000 532 36 0 36 0000000000000000000000000000000000001000000000000000000000000000 533 37 0 37 0000000000000000000000000000000000000100000000000000000000000000 534 38 0 38 0000000000000000000000000000000000000010000000000000000000000000 535 39 0 39 0000000000000000000000000000000000000001000000000000000000000000 536 40 0 40 0000000000000000000000000000000000000000100000000000000000000000 537 41 0 41 0000000000000000000000000000000000000000010000000000000000000000 538 42 0 42 0000000000000000000000000000000000000000001000000000000000000000 539 43 0 43 0000000000000000000000000000000000000000000100000000000000000000 540 44 0 44 0000000000000000000000000000000000000000000010000000000000000000 541 45 0 45 0000000000000000000000000000000000000000000001000000000000000000 542 46 0 46 0000000000000000000000000000000000000000000000100000000000000000 543 47 0 47 0000000000000000000000000000000000000000000000010000000000000000 544 48 0 48 0000000000000000000000000000000000000000000000001000000000000000 545 49 0 49 0000000000000000000000000000000000000000000000000100000000000000 546 50 0 50 0000000000000000000000000000000000000000000000000010000000000000 547 51 0 51 0000000000000000000000000000000000000000000000000001000000000000 548 52 0 52 0000000000000000000000000000000000000000000000000000100000000000 549 53 0 53 0000000000000000000000000000000000000000000000000000010000000000 550 54 0 54 0000000000000000000000000000000000000000000000000000001000000000 551 55 0 55 0000000000000000000000000000000000000000000000000000000100000000 552 56 0 56 0000000000000000000000000000000000000000000000000000000010000000 553 57 0 57 0000000000000000000000000000000000000000000000000000000001000000 554 58 0 58 0000000000000000000000000000000000000000000000000000000000100000 555 59 0 59 0000000000000000000000000000000000000000000000000000000000010000 556 60 0 60 0000000000000000000000000000000000000000000000000000000000001000 557 61 0 61 0000000000000000000000000000000000000000000000000000000000000100 558 62 0 62 0000000000000000000000000000000000000000000000000000000000000010 559 63 0 63 0000000000000000000000000000000000000000000000000000000000000001 560