Just for completeness, you can use DECODE for the other variant, namely, if the bind is null, you want to find the null values in the column as well.
SQL> create table t ( x int );
Table created.
SQL> insert into t values (1);
1 row created.
SQL> insert into t values (2);
1 row created.
SQL> insert into t values (null);
1 row created.
SQL>
SQL> variable n number
SQL> exec :n := 1
PL/SQL procedure successfully completed.
SQL>
SQL> select * from t
2 where decode(x,:n,1,0) = 1;
X
----------
1
SQL>
SQL> exec :n := null
PL/SQL procedure successfully completed.
SQL>
SQL> select * from t
2 where decode(x,:n,1,0) = 1;
X
----------