Mic*_*len 5 floating-point binary matlab bit-manipulation
我在Matlab中使用非负矩阵分解将矩阵分解为两个因子.使用这个,我得到了两个双精度浮点矩阵,B和C.
样本结果是
B(1,1) = 0.118
C(1,1) = 112.035
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试修改这些值中的特定位,但在任一值上使用bitset函数我得到一个错误,因为bitset需要无符号整数.
我也尝试过使用dec2bin函数,我假设它会将小数转换为二进制,但它为B(1,1)返回'0'.
有没有人知道在不损失精度的情况下处理浮点数的任何方法?
你应该研究typecast和bitset功能.(分别在这里和这里).这可以让你做的事情
xb = typecast( 1.0, 'uint64' );
xb = bitset( xb, 10, 1 );
typecast( xb, 'double' );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |