大胖的部落格
Just a note
C++博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
112 随笔 :: 0 文章 :: 3 评论 :: 0 Trackbacks
<
2009年6月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
留言簿
给我留言
查看公开留言
查看私人留言
随笔分类
Algorithm(13)
(rss)
C#(13)
(rss)
C++(22)
(rss)
Design Pattern(23)
(rss)
Others(14)
(rss)
STL(9)
(rss)
Technical(2)
(rss)
UML(2)
(rss)
Win32(18)
(rss)
Reference
Windows XP command line
最新评论
1. re: 在TCL命令行中调用C函数
@Kenny
实在不好意思,时间太过久远,本人已好久没有接触TCL……
--大胖
2. re: 在TCL命令行中调用C函数
請問如何溝通array 變數
Q:1
tcl array in C
Q:2
C array in tcl
懇求指導
--Kenny
3. re: 在TCL命令行中调用C函数
谢谢!
--1232
浮点数二进制表示
#include
"
stdafx.h
"
#include
<
iostream
>
using
namespace
std;
//
float 1.5 二进制表示如下
//
0 01111111 10000000000000000000000
//
符号位(1 bit) 指数位(8 bits) 有效数位(23 bits)
//
2^(指数位-(2^8/2-1)) = 1 有效位的二进制表示:1.1(整数部分的1为隐藏,有效数位为2进制的小数部分) (dec)=1.5
//
double
//
符号位(1 bit) 指数位(11 bits) 有效数位(52 bits)
void
OutBinary(
float
f)
//
Output the float in binary object format
{
cout
<<
"
float:
"
<<
f
<<
endl;
int
i
=
0
;
memcpy(
&
i,
&
f,
4
);
cout
<<
"
int:
"
<<
i
<<
endl;
char
cDest[
33
]
=
{
0
}
;
char
c[
33
]
=
{
0
}
;
itoa(i, c,
2
);
int
iNum
=
0
;
char
*
cIterator
=
c;
while
(
*
cIterator
!=
'
\0
'
)
{
++
cIterator;
++
iNum;
}
int
iIterator
=
32
;
for
(
int
iCnt
=
iNum; iCnt
>
0
;
--
iCnt)
{
cDest[iIterator
-
1
]
=
c[iCnt
-
1
];
--
iIterator;
}
while
(iIterator
>
0
)
{
--
iIterator;
cDest[iIterator]
=
'
0
'
;
}
printf(
"
%c
"
, cDest[
0
]);
for
(
int
iCnt
=
1
; iCnt
<
9
;
++
iCnt)
{
printf(
"
%c
"
, cDest[iCnt]);
}
printf(
"
"
);
for
(
int
iCnt
=
9
; iCnt
<
32
;
++
iCnt)
{
printf(
"
%c
"
, cDest[iCnt]);
}
cout
<<
endl;
}
int
main()
{
float
f
=
1.5
;
//
0 01111111 10000000000000000000000
OutBinary(f);
OutBinary(
0
);
//
0 00000000 00000000000000000000000
OutBinary(
1
);
//
0 01111111 00000000000000000000000
unsigned
int
q
=
0
;
memcpy(
&
q,
&
f,
4
);
q
|=
1
<<
31
;
memcpy(
&
f,
&
q,
4
);
OutBinary(f);
return
0
;
}
posted on 2009-06-29 10:38
大胖
阅读(438)
评论(0)
编辑
收藏
引用
所属分类:
Others
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
用C实现多态
printf
浮点数二进制表示
文件操作
字节对齐
函数调用方式
Big Endian & Little Endian 和位域
在TCL脚本中导入dll
在TCL命令行中调用C函数
Perl初学
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Powered by:
C++博客
Copyright © 大胖