EDA365电子工程师网

标题: 一个关于无符号数和有符号数的问题,各路大神,有时间进来看看 [打印本页]

作者: pipiliang    时间: 2014-3-7 23:05
标题: 一个关于无符号数和有符号数的问题,各路大神,有时间进来看看
r e g [0:5] B a r;8 n5 S" q$ G; Q& S
i n t e g e r T a b;
8 s7 P8 _% I% L, F; H) [B a r = - 4'd12/4;- i* N0 \% U' F) v1 S
T a b = - 4'd12 /4;
* S- m8 M/ C3 y4 T% R( T$ X' t请教大家一个问题
/ F, ~9 d& j! W/ ?, W9 Y最终bar和tab的值是多少?
! Z4 I4 h6 Z& g9 j; E) oBar定义为寄存器变量,默认的是无符号型,tab定义整型,默认32位无符号型。- w+ R% h: C* E) r
书上说bar的最终结果是:61,tab的最终结果是:1073741821
% D. @: ?4 M4 A! x% L8 X
3 x* Y4 \7 X; k) l9 Q但是我总觉得bar的最终结果是13  (001101)
- t! h" S6 `, A4 b5 h0 z/ M- F
6 F" x' g0 _) W) Q& e3 c请教大家,应该到底是多少呢?
作者: zgq800712    时间: 2014-3-7 23:50
本帖最后由 zgq800712 于 2014-3-7 23:54 编辑
& W7 a; L7 b9 s$ T/ L. h& o# p, W9 b; l5 ]  h7 w3 M7 G8 Q
Bar 是6位的,Bar=-4‘d12/4 ,那就是-3,; P; r1 }# |) e" Y* o* M6 t, S
# g- q) A  W6 a& D+ l
最高位是符号位7 R; k7 i- G& @7 r5 b
10,0011 --- 原码) }8 i' H) m" h, E- e, e" z
11,1100  ----- 反码' c4 w/ `& q7 |7 W$ q
11,1101 ------ 补码! j" T# q; D) R% [

  x7 T: y* c' Q# A( @  P6 B. J负数就是按补码来的;11,1101 是多少? 就是61  W/ e2 b& ?# X- n9 y8 ], C0 L3 h

  r; ?- `7 y( A. c( l2 s1 Z另外一个算的不对,我算不出来
0 `. r, l  H3 ?* u" P7 H3 K  I% o7 A4 K

作者: pipiliang    时间: 2014-3-8 17:33
zgq800712 发表于 2014-3-7 23:50* s& V) x7 I, J1 P7 G" W
Bar 是6位的,Bar=-4‘d12/4 ,那就是-3,
0 d3 d/ T. t! o6 b+ C  M! z
6 m9 L5 f! d" J' A  `最高位是符号位
+ |7 O7 ?- Z- h
另外一个也是先算的补码,因为tab是整形变量,默认32位,所以- 4'd12要先转化为32位的补码为FFFF_FFF4再进行计算,因为基数形式默认的是无符号型,所以便是:FFFF_FFF4/4=3FFF_FFFD它的十进制数就是:1073741821。这个数就是这么来的。所以我Bar的结果我总感觉不对,觉得应该是先将- 4'd12转化为6位的二进制补码110100=52,然后再除以4,结果得到的应该是13.
作者: lvsy    时间: 2014-3-10 10:59
"/"的优先级高于“-”,第二个结果是不对的。
作者: pipiliang    时间: 2014-3-14 23:41
lvsy 发表于 2014-3-10 10:59* ]7 n7 r- z3 r8 M3 b0 H9 i6 ]% y$ x! T
"/"的优先级高于“-”,第二个结果是不对的。
7 L: j. ~" W0 T8 k
这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?
作者: lvsy    时间: 2014-3-17 08:35
pipiliang 发表于 2014-3-14 23:41
! x" g* f- u7 }2 d' s6 B( B- g) D7 c* U这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

9 e1 M1 a6 L% y2 U0 U/ v( J4 n对,应该是-3。
作者: pipiliang    时间: 2014-3-26 20:44
lvsy 发表于 2014-3-17 08:35, g+ s: x0 _$ \% f. Q# N
对,应该是-3。

: H) q: z1 \! j9 `' W谢谢,终于明白了
作者: eda366_murphy    时间: 2014-3-29 10:07
VHDL  有符号库和无符号库, 用谁是谁。 无纠结
作者: kuochiang    时间: 2015-5-28 14:47
感謝分享~~




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2