📄 subject_59404.htm
字号:
<p>
序号:59404 发表者:狂战士 发表日期:2003-11-07 16:02:55
<br>主题:问一个关于二进制的转化问题!
<br>内容:定义了一个double a=11.01;<BR>现在想转化成二进制!!<BR>如何转化啊?<BR>能否能给出源代码!!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:luo 回复日期:2003-11-07 16:06:54
<br>内容:整数部分是除2,小数部分是乘2
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:视频新手 回复日期:2003-11-07 16:27:24
<br>内容:double a=11.01;<BR>BYTE* p = (BYTE*) &a;<BR>//p开始的8个字节就是你要的<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-07 16:29:39
<br>内容:自己做一个算法,整数位除二取余,小数位乘二取整
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:狂战士 回复日期:2003-11-07 16:33:59
<br>内容:union AA<BR> {<BR> double a;<BR> __int64 b;<BR> };<BR> AA a;<BR> a.a = 11.01;<BR>对吗?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:狂战士 回复日期:2003-11-07 16:39:01
<br>内容:写错了,应该是<BR>union AA<BR> {<BR> double a;<BR> __int64 b;<BR> };<BR> AA a;<BR> a.b = 11.01;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:视频新手 回复日期:2003-11-07 16:49:44
<br>内容:union AA<BR> {<BR> double a;<BR> __int64 b;<BR> };<BR> AA a;<BR> a.a = 11.01; <BR><BR>//a.b就是
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:浪际天涯 回复日期:2003-11-07 16:52:08
<br>内容:double a=11.01;转换为二进制后,值变吗?<BR>我写了一段小代码,转变后值不变<BR> double ii=348493.4384;<BR> CString s,s1,s2;<BR> s.Format("%f",ii);<BR> s1=s.Left(s.Find("."));<BR> s2.Format("0%s",s.Right(s.GetLength()-s.Find(".")));<BR> int l=s1.GetLength();<BR> int left=atoi(s1);<BR> double right=atof(s2);<BR> int x;<BR> CString lr(""),rr("");<BR> do{<BR> x=left%2;<BR> left=left/2;<BR> lr=itoa(x)+lr;<BR> }while(left!=1);<BR> lr=itoa(left)+lr;<BR> while(right!=0)<BR> {<BR> right=right*2.0;<BR> x=int(right);<BR> if(right>=1)right-=1;<BR> rr=rr+itoa(x);<BR> }<BR> CString ret=lr+"."+rr;<BR> MessageBox(ret);<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:狂战士 回复日期:2003-11-07 23:12:54
<br>内容:楼上的itoa函数就带一个参数,好象不行吧!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-10 09:13:02
<br>内容:你自己做一个itoa<BR>CString itoa(int i)<BR>{<BR> CString str;<BR> str.Format("%d",i);<BR> return str;<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:狂战士 回复日期:2003-11-10 10:07:50
<br>内容:UpdateData(TRUE);<BR> if(m_edit1<1)<BR> {<BR> AfxMessageBox("请输入大于1的数值!");<BR> m_edit.SetWindowText("");<BR> }<BR> else<BR> {<BR> CString s,s1,s2;<BR> s.Format("%f",m_edit1);<BR> s1=s.Left(s.Find("."));<BR> s2.Format("0%s",s.Right(s.GetLength()-s.Find(".")));<BR> int l=s1.GetLength();<BR> int left=atoi(s1);<BR> double right=atof(s2);<BR> int x;char SzBuffer[255];<BR> CString lr(""),rr("");<BR> do{<BR> x=left%2;<BR> left=left/2;<BR> lr=itoa(x,SzBuffer,2)+lr;<BR> }while(left!=1);<BR> lr=itoa(left,SzBuffer,2)+lr;<BR> while(right!=0)<BR> {<BR> right=right*2.0;<BR> x=int(right);<BR> if(right>=1)right-=1;<BR> rr=rr+itoa(x,SzBuffer,2);<BR> }<BR> CString ret=lr+"."+rr;<BR> m_edit2=ret;<BR> UpdateData(FALSE);<BR> }<BR><BR>TO:浪际天涯<BR>如果是小于0的数好象转化有点问题啊!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-11-10 11:11:39
<br>内容:加个判断吧,好像也没有其它好的方法了<BR>UpdateData(TRUE);<BR> if(m_edit1<1)<BR> {<BR> AfxMessageBox("请输入大于1的数值!");<BR> m_edit.SetWindowText("");<BR> }<BR> else<BR> {<BR> CString s,s1,s2;<BR> s.Format("%f",m_edit1);<BR> s1=s.Left(s.Find("."));<BR> s2.Format("0%s",s.Right(s.GetLength()-s.Find(".")));<BR> int l=s1.GetLength();<BR> int left=atoi(s1);<BR> double right=atof(s2);<BR> int x;char SzBuffer[255];<BR> CString lr(""),rr("");<BR> BOOL f=TRUE;<BR> if(left!=0)<BR> {<BR> if(left<0)<BR> {<BR> left*=-1;<BR> f=FALSE;<BR> }<BR> do{<BR> x=left%2;<BR> left=left/2;<BR> lr=itoa(x,SzBuffer,2)+lr;<BR> }while(left!=1);<BR> lr=itoa(left,SzBuffer,2)+lr;<BR> if(!f)lr="1"+lr;<BR> else<BR> {<BR> lr="0"; <BR> }<BR> while(right!=0)<BR> {<BR> right=right*2.0;<BR> x=int(right);<BR> if(right>=1)right-=1;<BR> rr=rr+itoa(x,SzBuffer,2);<BR> }<BR> CString ret=lr+"."+rr;<BR> m_edit2=ret;<BR> UpdateData(FALSE);<BR> }<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -