C - two’s complement binary numbers, Appendix c, Two’s complement binary numbers – Rockwell Automation 1746-NI16V SLC 500 Analog Input Modules User Manual User Manual
Page 107: Appendix, Positive decimal values

1
Publication 1746-UM001A-US-P
Appendix
C
Two’s Complement Binary Numbers
The SLC 500™ processor memory stores 16-bit binary numbers. Two’s
complement binary is used when performing mathematical
calculations internal to the processor. Analog input values from the
analog modules are returned to the processor in 16-bit two’s
complement binary format. For positive numbers, the binary notation
and two’s complement binary notation are identical.
As indicated in the figure on the next page, each position in the
number has a decimal value, beginning at the right with 2
0
and ending
at the left with 2
15
. Each position can be 0 or 1 in the processor
memory. A 0 indicates a value of 0; a 1 indicates the decimal value of
the position. The equivalent decimal value of the binary number is the
sum of the position values.
Positive Decimal Values
The far left position is always 0 for positive values. As indicated in the
figure below, this limits the maximum positive decimal value to 32,767
(all positions are 1 except the far left position). For example:
0000 1001 0000 1110 = 2
11
+2
8
+2
2
+2
2
+2
2
= 2048+256+8+4+2 = 2318
0010 0011 0010 1000 = 2
13
+2
9
+2
8
+2
5
+2
3
= 8192+512+256+32+8 = 900
0
0 1
1
1 1
1
1 1
1
1 1
1
1 1
1
0x2
15
= 0
This position is always zero for positive numbers
1x2
14
= 16384
1x2
13
= 8192
1x2
12
= 4096
1x2
11
= 2048
1x2
10
= 1024
1x2
9
= 512
1x2
8
= 256
1x2
7
= 128
1x2
6
= 64
1x2
5
= 32
1x2
4
= 16
1x2
3
= 8
1x2
2
= 4
1x2
1
= 2
1x2
0
= 1
16384
8192
4096
2048
1024
512
256
128
64
32
16
8
4
2
1
32767