For example, $a=0.10101$ in binary representation.
Then how to calculate $a^2$ directly in mathematica?
Is there any function turning binary into decimal? I only found its inverse...
For example, $a=0.10101$ in binary representation.
Then how to calculate $a^2$ directly in mathematica?
Is there any function turning binary into decimal? I only found its inverse...
You can input numbers in any base up to 36 using the notation base^^digits
. Digits over 9 are represented using a
, b
, c
, ...
You can print numbers in any base up to 36 using BaseForm
.
Thus,
In[1]:= a=2^^0.10101
Out[1]= 0.65625
In[2]:= BaseForm[a^2,2]
Out[2]//BaseForm= Subscript[0.0110111001, 2]
Note that the internal representation of numbers doesn't know or care about bases. These tools are only for inputting or printing numbers, but do not affect how numbers are stored internally. The internal representation is always binary.
IntegerDigits
/RealDigits
and FromDigits
will convert numbers to/from an explicit list of digits. These functions work with any base, not just up to 36.
^^
arbitrary-base non-integers with non-power-of-two base. If one wants to perform precise computation on some other base, numbers should be manipulated in their rational forms.
$\endgroup$
You can enter a number in an arbitrary base using base^^digits
:
alpha = 2^^0.10101;
BaseForm[alpha, 2]
BaseForm[alpha^2, 2]