How to set individual bits in 64-bit double-precision floating number

5 visualizaciones (últimos 30 días)
Hi everyone,
I am wondering if it is possible to set individual bits in 64-bit double-precision floating number in MATLAB.
I know that I can use "format hex" to read the bits. But how can I set it?
Thanks Kevin

Respuesta aceptada

Walter Roberson
Walter Roberson el 5 de Mayo de 2018
Example:
typecast(bitset(typecast(pi,'uint64'),53,1),'double')
Bit numbering is 64 for the most significant bit, down to 1 for the least significant bit.
As the IEEE 754 floating point representation is being altered, the change I made here of effectively adding 1 to the exponent resulting in doubling the result (because IEEE 754 has binary representation, not decimal representation.)
  3 comentarios
Walter Roberson
Walter Roberson el 5 de Mayo de 2018
I have never worked for CIBC or any finance company.
I find a record of Michael Robbins in comp.soft-sys.matlab who worked for CIBC. Looks like he had about 75-ish posts. My active time on comp.soft-sys.matlab did not overlap with him.
Kevin
Kevin el 5 de Mayo de 2018
You are correct. I was thinking about Michael Robbins.
Thanks again for your help.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by