# Create 16 single bit input to a 16bit modbus value

**URL:** <https://discourse.nodered.org/t/create-16-single-bit-input-to-a-16bit-modbus-value/56938>\
**Category:** General\
**Created:** [19 January 2022 22:07 UTC](https://discourse.nodered.org/t/create-16-single-bit-input-to-a-16bit-modbus-value/56938 "2022-01-19T22:07:10Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)\
**Post date:** [19 January 2022 22:45 UTC](https://discourse.nodered.org/t/create-16-single-bit-input-to-a-16bit-modbus-value/56938/2 "2022-01-19T22:45:29Z")

</div>

This should get you started...

> [@Node-red-contrib-remote-io, digital output for joining bool to word](https://discourse.nodered.org/t/node-red-contrib-remote-io-digital-output-for-joining-bool-to-word/11798/2):
>
> If you mean combining bits to make a WORD value - its just basic math functionality of the programming language. e.g.... //Get bit function getBit(number, bitPosition) { return (number & (1 \<\< bitPosition)) === 0 ? 0 : 1; } //Set Bit function setBit(number, bitPosition) { return number | (1 \<\< bitPosition); } //Clear Bit function clearBit(number, bitPosition) { const mask = ~(1 \<\< bitPosition); return number & mask; } //Update Bit function updateBit(number, bitPosition, bitValue) { …

---

_[View the full topic](https://discourse.nodered.org/t/create-16-single-bit-input-to-a-16bit-modbus-value/56938)._
