|
[Date Index]
[Thread Index]
[Author Index]
Re: Working with binaries
- To: mathgroup at smc.vnet.net
- Subject: [mg47991] Re: [mg47990] Working with binaries
- From: "J. McKenzie Alexander" <jalex at lse.ac.uk>
- Date: Wed, 5 May 2004 08:10:58 -0400 (EDT)
- References: <200405041103.HAA02791@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On May 4, 2004, at 12:03 pm, Luca wrote:
> I was also trying to find the function NOT, i.e. that function which
> gives:
>
> !1 = 0
> !0 = 1
>
The function Not is just defined for truth values. Not[True] yields
False, and vice versa.
Why not just use something like:
MyNot[n_] := If[n == 0, 1, 0]
Replace the "==" with "===" if you want to force everything except 0 to
1.
If you want to extend the built-in Not function, you'll need to
temporarily unprotect the symbol before defining the extension. In this
case, use
ClearAttributes[Not,Protected];
Not[0]:=1;
Not[1]:=0;
SetAttributes[Not,Protected];
This will then give you the behaviour you want:
In[37]:=
Not[0]
Not[1]
Out[37]=
1
Out[38]=
0
In[42]:=
!0//Print
!1//Print
From In[42]:=
1
From In[42]:=
0
--
J. McKenzie Alexander
Department of Philosophy, Logic and Scientific Method
London School of Economics and Political Science
Houghton Street, London WC2A 2AE
Prev by Date:
Re: Do Modules Produce Side Effects?
Next by Date:
RE: Do Modules Produce Side Effects?
Previous by thread:
Working with binaries
Next by thread:
Re: Working with binaries
|