Help me make sense of these bits

i am trying to decode an air conditioner IR remote. and i could use some help understand how these bits are set
i have 2 possible sets of data, depending on how the incoming data interpreted. the are bits are just inverted in each of the sets.

18c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00000100,10000000,00000000,00000000,00000000,00000000,11110101

19c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00001100,10000000,00000000,00000000,00000000,00000000,11111001

20c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00000010,10000000,00000000,00000000,00000000,00000000,11110001

21c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00001010,10000000,00000000,00000000,00000000,00000000,11111110

22c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00000110,10000000,00000000,00000000,00000000,00000000,11110110

23c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00001110,10000000,00000000,00000000,00000000,00000000,11111010

24c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00000001,10000000,00000000,00000000,00000000,00000000,11110010

25c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00001001,10000000,00000000,00000000,00000000,00000000,11111100

26c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00000101,10000000,00000000,00000000,00000000,00000000,11110100

27c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00001101,10000000,00000000,00000000,00000000,00000000,11111000

28c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00000011,10000000,00000000,00000000,00000000,00000000,11110000

29c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00001011,10000000,00000000,00000000,00000000,00000000,11111111

30c-00101000,11000110,00000000,00001000,00001000,00111111,00010000,00001100,00000111,10000000,00000000,00000000,00000000,00000000,11110111

now i noticed that only 2 bytes of data are getting changed with every increment in temperature.
the first byte of data, this is what i believe is manipulating the temperature.

00000100 at 18 
00001100 at 19
00000010 at 20
00001010 at 21
00000110 at 22
00000110 at 23
00001110 at 24
00000001 at 25
00001001 at 26
00000101 at 27
00001101 at 28
00000011 at 29	
00001011 at 30
00000111 at 20

the second byte of data that changes is

11110101
11111001
11110001
11111110
11110110
11111010
11110010
11111100
11110100
11111000
11110000
11111111
11110111

the first byte that changes is a representation of the temperate in some way. the range for the temperatures is 18 to 30.
the second byte that changes i believe is some kind of check sum of the entire message.
i am weak when it comes to binary operations.
could someone please help me understand how the value of temperate is being manipulated ?
and also how the final byte is related to the entire message.

00000100 at 18 
00001100 at 19
00000010 at 20
00001010 at 21

Does it make more sense if you reverse the bits, and possibly subtract an offset?

i didn't think of that. ill try to see if that is a possible.

It looks as though the second byte is some sort of sequence number, if you discard the highest 4 bits (all 1111) and reverse the order of the lower 4 bits you get: 1010 1001 1000 0111 etc. which is just decrementing. When it gets to 0000 it underflows (is that a word?) and goes back to 1111

thank you very much awol.! you suggestion went a very long way in helping me solve this.

it turns out that my bit interpretation was wrong. now with the inverted bits the entire data becomes

18c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11111011,01111111,11111111,11111111,11111111,11111111,00001010

19c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11110011,01111111,11111111,11111111,11111111,11111111,00000110

20c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11111101,01111111,11111111,11111111,11111111,11111111,00001110

21c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11110101,01111111,11111111,11111111,11111111,11111111,00000001

22c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11111001,01111111,11111111,11111111,11111111,11111111,00001001

23c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11110001,01111111,11111111,11111111,11111111,11111111,00000101

24c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11111110,01111111,11111111,11111111,11111111,11111111,00001101

25c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11110110,01111111,11111111,11111111,11111111,11111111,00000011

26c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11111010,01111111,11111111,11111111,11111111,11111111,00001011

27c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11110010,01111111,11111111,11111111,11111111,11111111,00000111

28c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11111100,01111111,11111111,11111111,11111111,11111111,00001111

29c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11110100,01111111,11111111,11111111,11111111,11111111,00000000

30c-11010111,00111001,11111111,11110111,11110111,11000000,11101111,11110011,11111000,01111111,11111111,11111111,11111111,11111111,00001000

the relevant data becomes

1011 
0011 
1101 
0101 
1001 
0001 
1110 
0110 
1010 
0010 
1100 
0100 
1000

now reversing the bits gets me decimal numbers from 13 to 1. subtracting the decimal value from 31 gives me the temperature setting required.

thanks AWOL

any clues on the last byte of data ? how is that byte related to the rest of the data ?

tobyb121: It looks as though the second byte is some sort of sequence number, if you discard the highest 4 bits (all 1111) and reverse the order of the lower 4 bits you get: 1010 1001 1000 0111 etc. which is just decrementing. When it gets to 0000 it underflows (is that a word?) and goes back to 1111

toby, i am pretty sure that the last byte in the whole data is related to the every other byte before it. i just don't know how. i think it is some sort of error checking, to make sure that the entire data gets transmitted correctly.

however i will try to make some sense of it, using what you suggested.