Hi,
I have a big problem in a multivariable function for Genetic Algorithms, I can't convert my decimal matrix to binary correctly it contains a signed and fractional numbers between -3 ,3.I need to finish the secript in 2 days Help please.
xx=-3+6*rand(10,1);
Thank You.

 채택된 답변

Walter Roberson
Walter Roberson 2024년 1월 3일
편집: Walter Roberson 2024년 1월 3일
typecast() the decimal matrix to 'uint64', and then use bitget() to fetch the individual bits.
Example,
format long g
Num = -sqrt(5)
Num =
-2.23606797749979
as64 = typecast(Num, 'uint64')
as64 = uint64
13835589633109914792
%checks to be sure that we are working with the same number
num2hex(Num)
ans = 'c001e3779b97f4a8'
dec2hex(as64)
ans = 'C001E3779B97F4A8'
%checks passed.
%get the bits
bits = bitget(as64, 64:-1:1)
bits = 1×64
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 1 1 1 0 1
Chances are quite high that this technically correct solution is useless to you.
I suggest that you post a small selection of numbers and the corresponding binary that you would like to see as a result.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by