|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1. 不要假设DSP6000上的int类型与long长度相同,在DSP6000上,int类型占32bits,而long类型占40bits,另有一种long long类型为64bit长度
) s) K; Y( `* g; c# C' J7 y; D1 n
4 L8 ^4 W5 ^: y. H" H
1 e4 l$ b* b- P* Q; A; s1 ~7 v2. 定点乘法最好使用short类型,这样只需要1个时钟周期,使用int类型需要5个时钟周期
# S: h( {3 m; A; u; f
( [% H$ U% t5 ?! a( ]/ G
) F8 M1 g3 P3 y9 e# A. z3. 使用int或unsigned int作为循环计数变量的类型,这样可以避免无谓的符号扩展指令
# X; h @& }! Q
; V6 S9 g) o: J
. F( \- O# q/ x6 G( X4 Q( ^ M" X5 S4. 在C6700上使用浮点指优化mv6700编译优化选项
+ M6 a4 ]3 W+ h, Y/ B [: N6 N
7 ]( b$ x: @: }( U: a& }; c1 j% M) x R' Q7 L
5. 在DSP6000上,各种存储类型及其长度分别是:" O8 c4 e5 f$ ]( ~! C3 V
! W- H- B; w5 q- \1 K/ Y& I
7 b# \: a# Y( H
short 16 bits -32768~32767
! g! v% q1 U0 O" q6 k+ {+ @% r9 Y$ F( v+ t3 V' a3 w
8 ~" w; p! a; B
int 32 bits −2147483648~2147483647+ T. i, c6 w T3 F* ~. u
2 q* i$ [4 Q; e. ~+ u: H+ ~: X" Q$ w6 r: O! V5 _/ c3 V8 q: k
long 40 bits −549755813888~5497558138871 q$ `8 x1 q( y; z! S2 l* d
; M9 @* f6 Y: K u& b% I
5 t7 u9 W( [) R3 P; q! T指针 40 bits 0000:0000h~FFFF:FFFFh! z: p2 { Z4 z
0 a# W" ]& j8 `- M
# V+ r) c/ _3 `$ o( }: Qlong long 64 bits -9223372036854775808~9223372036854775807: {8 O' T) D" V* ?
2 s$ t( ^% o( c) F) s3 Z+ }; R
K( M7 J# Q# i4 N7 w- L( Y0 X
float 32 bits 1.17549435e−38~3.40282347e+38
- A" u& z# B. c) d$ F* {
% c$ H. G( W( D2 ~/ z
: d: p2 s3 X( e9 V% |$ n2 @( t8 bdouble 64 bits 2.2250738585072014e−308~1.7976931348623157e+308
. v- Z' e6 T# c' C& m
( J/ t; R" p5 [9 M8 c
, H! ]7 \+ h3 a, \注意:尽管float与int的单位存储长度一样,但由于内存存储的数据表达方式不同,float的存储数据范围要比int类型大得多。0 ?3 Y6 T# _9 p2 t/ U8 n
5 N0 w* |% p3 u& F- O0 P; B5 h% ~# t, W- v9 Q% g# d7 _
" `& t G1 e) U# H3 @/ j
5 m: r* X9 F) _3 h
: C3 H: T$ z7 I' R! \7 U9 c K$ B& b! @& t0 C1 ?. x' v) f& Z" ^
|
|