[ create a new paste ] login | about

Link: http://codepad.org/oKLnmEul    [ raw code | output | fork ]

C, pasted on Oct 2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int temp;
char temp1;
char temp2;

void main(void)
{
    // t = 25.0625 C (0x0191 - ds18b20)
    temp1 = 0x01;
    temp2 = 0x91;

    temp = temp1;
    temp <<= 8;
    temp |= (unsigned char)temp2;

    printf("temp = %d.%01d C\n\r", temp >> 4, ((temp & 15) * 10) >> 4);
    printf("temp = %d.%02d C\n\r", temp >> 4, ((temp & 15) * 100) >> 4);
    printf("temp = %d.%03d C\n\r", temp >> 4, ((temp & 15) * 1000) >> 4);
    printf("temp = %d.%04d C\n\r", temp >> 4, ((temp & 15) * 10000) >> 4);

    return;
}


Output:
1
2
3
4
5
6
7
8
temp = 25.0 C

temp = 25.06 C

temp = 25.062 C

temp = 25.0625 C



Create a new paste based on this one


Comments: