double转换为二进制
arctan 在verilog 里是1qn或2qn格式,所以要把浮点数转换成1qn格式
1、dec2bin(十进制整数变为二进制)
Convert decimal to binary number in string
Syntax
str = dec2bin(d)
str = dec2bin(d,n)
Description
returns the
str = dec2bin(d) binary representation of d as a string. d must be a nonnegative integer smaller than 2^52.
str = dec2bin(d,n) produces a binary representation with at least n bits.
The output of dec2bin is independent of the endian settings of the computer you are using.
2参考:https://zhidao.baidu.com/question/431648565.html?qbl=relate_question_0
这两个都是我收集的,验证过没问题
方案一:
%函数(1)含小数的十进制,会调用函数二
function y=f_d2b(n)
strn=strtrim(num2str(n));
p=length(strn);
if isempty(find(strn=='.'))
y=d2b(n); %这里
return;
else
for i=1:p
if find(strn(i)=='.')
k=i;
break;
end
end
%Retrieving INTEGER and FRACTIONAL PARTS as strings
i_part=strn(1:k-1);
f_part=strn(k:end);
%Converting the strings back to numbers
ni_part=str2num(i_part);
nf_part=str2num(f_part);
ni_part=d2b(ni_part);
strtemp='';
temp=nf_part;
t='1';s='0';
while nf_part>= 0
nf_part=nf_part*2;
if (nf_part==1) || (nf_part==temp)
strtemp=strcat(strtemp,t);
break;
elseif nf_part>1
strtemp=strcat(strtemp,t);
nf_part=nf_part-1;
else
strtemp=strcat(strtemp,s);
end
end
if ni_part==0
y=strcat('0.',strtemp);
else
y=strcat(ni_part,'.',strtemp);
end
end
%%%%%%%%%%%
%函数(2)转换整数部分
function y=d2b(n)
strtemp='';
strn=strtrim(num2str(n));
if n<0
fprintf(' %f is not a valid number\n',n)
end
while n~=0
strtemp=strcat(num2str(mod(n,2)),strtemp);
n=floor(n/2);
end
y=strtemp;
方案二:
function Mydec2bin(x)
%x----------the decimal number
%
%Recod of version:
% Date Programmer Description of change
% ======= ========= =================
% 9/26/2009 Iptest Original code
flag=x>0;T=abs(x);T1=fix(T);T2=T-T1;flag1=T1>0;flag2=T2>0;
i=1;j=1;
%for positive number
%integer part origin code
if flag1==1;
flag3=1;
while T1>0
N0(i)=mod(T1,2);T1=fix(T1/2);
i=i+1;
end
n=length(N0);
for ii=1:n
N(ii)=N0(n-ii+1);
end
else
N=[];flag3=0;
end
%point part origin code
if flag2==1;
flag4=1;
while T2~=0 %maybe come out no ending situation
M(j)=(T2*2>1)*fix(T2*2)+(T2*2==1);
T2=(T2*2>1)*(T2*2-1)+(T2*2<1)*T2*2;
j=j+1;
end
else
M=[];flag4=0;
end
%for real situation
if flag==1%for positive number
if flag3==1;
disp('integer part origin code');
disp(N);
disp('integer part reverse code:');
disp(N);
else
disp('Not have integer part !');
end
if flag4==0;
disp('Not have point part !');
else
disp('point part origin code:');
disp(M);
disp('point part reverse code:');
disp(M);
end
else %for negative number
N=[1 N];
if flag1==1
if flag3==1;
disp('integer part origin code');
disp(N);
disp('integer part reverse code:');
N1=[N(1) ~N(2:end)];
disp(N1);
else
disp('Not have integer part !');
end
if flag4==0;
disp('Not have point part !');
else
disp('point part origin code:');
disp(M);
disp('point part reverse code:');
M1=[~M];
disp(M1);
end
else
disp('integer part reverse code for symbol code:');
disp(N);
if flag4==0;
disp('Not have point part !');
else
disp('point part origin code:');
disp(M);
disp('point part reverse code:');
M1=[~M];
disp(M1);
end
end
end
disp ('if there have some problem for the code please turn it out,thanks!')
double转换为二进制的更多相关文章
- double转换为int以及浮点型相加损失精度问题
最近在做支付相关模块的业务,数据库字段却使用的是double类型,其实也行,只要计算不在sql语句中进行,也是没有问题的. 预先的类属性设置的是Double类型,自己算的时候发现小数相加会出现损失精度 ...
- 将十进制数据转换为二进制AND将二进制数据转换为十进制!
一,将十进制数据转换为二进制: //*********************************************** Console.WriteLine(&quo ...
- java_十进制数转换为二进制,八进制,十六进制数的算法
java_十进制数转换为二进制,八进制,十六进制数的算法 java Ê®½øÖÆÊýת»»Îª¶þ½øÖÆ,°Ë½øÖÆ,Ê®Áù½øÖÆÊýµÄË㕨 using System; using S ...
- Java中实现十进制数转换为二进制的三种思路
Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...
- java语言将任意一个十进制数数字转换为二进制形式,并输出转换后的结果
package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Test { /* * 将任 ...
- 【转载】C#将图片转换为二进制流调用
在C#中可以使用MemoryStream类.BinaryFormatter类等来操作图片,将图片读取到二进制数据流中,最终转成二进制数据流进行调用,详细的实现如下方法所示. private byte[ ...
- javascript 十进制转换为二进制
1.十进制转换为二进制 var toBin = (n) => { if(n == 0) return '0'; var res = ''; while(n != 0) { res = n % 2 ...
- php 将16进制数串转换为二进制数据的函数
/** * 将16进制数串转换为二进制数据的函数 * @param $hexdata * @return string bindata */ function ...
- 深度学习原理与框架-Tfrecord数据集的制作 1.tf.train.Examples(数据转换为二进制) 3.tf.image.encode_jpeg(解码图片加码成jpeg) 4.tf.train.Coordinator(构建多线程通道) 5.threading.Thread(建立单线程) 6.tf.python_io.TFR(TFR读入器)
1. 配套使用: tf.train.Examples将数据转换为二进制,提升IO效率和方便管理 对于int类型 : tf.train.Examples(features=tf.train.Featur ...
随机推荐
- 20175310 《Java程序设计》第2周学习总结
20175310<Java程序设计>第2周学习总结 教材学习内容总结 本周学习了第二章和第三章的内容,大部分的知识点都和大一学的C语言很相似,学起来难度不大. 教材学习中的问题和解决过程 ...
- Vue2---父子组件之间的访问
个人小总结:1年多没有写博客,感觉很多知识点生疏了,虽然工作上能解决问题,但是当别人问到某个知识点的时候,还是迷迷糊糊的,所以坚持写博客是硬道理的,因为大脑不可能把所有的知识点记住,有可能某一天忘了, ...
- PAT A1113 Integer Set Partition (25 分)——排序题
Given a set of N (>1) positive integers, you are supposed to partition them into two disjoint set ...
- Echo团队Alpha冲刺随笔集合
班级:软件工程1916|W 作业:项目Alpha冲刺(团队) 团队名称:Echo 作业目标:完成项目Alpha冲刺 代码规范.冲刺任务与计划 Day 0: 代码规范.任务及计划 冲刺随笔 Day 1: ...
- Html5 标签四 (列表)
1.有序列表 2.无序列表 3.自定义列表 <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- MySQL(十一)视图及存储过程
一.视图 视图是虚拟的表,它只包含使用时动态检索数据的查询. 1.使用视图的好处 ①重用SQL语句: ②简化复杂的SQL操作(可以方便的重用它而不必知道它的基本查询细节): ③使用表的组成部分而不是整 ...
- Saltstack学习之二:target与模块方法的运行
对象的管理 saltstack系统中我们的管理对象叫做target,在master上我们可以采用不同的target去管理不同的minion,这些target都是通过去管理和匹配minion的id来做的 ...
- hibernate4使用原生jdbc进行批处理
在hibernate中,有一级缓存session和二级缓存sessionFactory这些机制,一方面为编码提供了便利,同时也会有一些副作用.比如有较大的数据量交互的话,缓存反而会降低效率.最近在做一 ...
- ASP.NET的生命周期
我主要参考了这些文章 ASP.NET应用程序与页面生命周期, IIS处理Asp.net请求和 Asp.net页面生命周期 asp.net页面的生命周期 页面生命周期开始 (一)页面生命周期的主要阶段包 ...
- Luogu P2286 [HNOI2004]宠物收养场
一道比较简单的直接Treap运用题目,思维难度和代码难度都不是很高. 题意有点长,我们仔细剖析一下题意发现以下几个关键: 任何时候收养站里只可能有人和宠物中的其中一种,或者都没有 如果只有宠物并有人来 ...