You specified that your number is in the additional code. For further conversion, you need to get a direct number code. Therefore, let\'s perform the conversion from additional code to direct code.
to do this, first perform the conversion from the additional code to the reverse by subtracting 1 bit, then get the direct code by inverting all the bits except the signed one.
| | | | | | | | | | | | . | . | . | | |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | дополнительный код |
| | | | | | | | | | | | | | - | 1 | -1 bit |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | обратный код |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | прямой код |
got It:1111110000011000
let\'s translate to decimal like this:
the Sign bit is not included in the translation!
1∙214+1∙213+1∙212+1∙211+1∙210+0∙29+0∙28+0∙27+0∙26+0∙25+1∙24+1∙23+0∙22+0∙21+0∙20 = 1∙16384+1∙8192+1∙4096+1∙2048+1∙1024+0∙512+0∙256+0∙128+0∙64+0∙32+1∙16+1∙8+0∙4+0∙2+0∙1 = 16384+8192+4096+2048+1024+0+0+0+0+0+16+8+0+0+0 = 3176810
Since the number is signed and has a signed bit, the result will have a negative sign
got It: 11111100000110002 =-3176810