# Modbus unsigned int 16

**URL:** <https://discourse.nodered.org/t/modbus-unsigned-int-16/53319>\
**Category:** Dashboard\
**Created:** [7 November 2021 04:02 UTC](https://discourse.nodered.org/t/modbus-unsigned-int-16/53319 "2021-11-07T04:02:20Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![PizzaProgram](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/pizzaprogram/32/19431_2.png) [@PizzaProgram](https://discourse.nodered.org/u/PizzaProgram)\
**Post date:** [7 November 2021 10:28 UTC](https://discourse.nodered.org/t/modbus-unsigned-int-16/53319/2 "2021-11-07T10:28:03Z")

</div>

Here are 4 simple functions for bit manipulation:

> [@Node-red-contrib-mcp23017chip](https://discourse.nodered.org/t/node-red-contrib-mcp23017chip/37999/71):
>
> I tend to use a set of functions that help me avoid typos... //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) { const bitValueNormalized = bitValue ? 1 : 0; const clearM…

It is safer to use those.

It would be easier for us, if you would export the **whole** Flow, so we can check out.  
You have only exported 1 record with some values.

---

_[View the full topic](https://discourse.nodered.org/t/modbus-unsigned-int-16/53319)._
