找回密码
 注册
关于网站域名变更的通知
查看: 1688|回复: 8
打印 上一主题 下一主题

一个关于无符号数和有符号数的问题,各路大神,有时间进来看看

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2014-3-7 23:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
r e g [0:5] B a r;
: `4 A( T& u1 }& ri n t e g e r T a b;* w) y8 @1 U- F
B a r = - 4'd12/4;
. j; P& m+ Q4 ]0 a% N* r' mT a b = - 4'd12 /4;: v0 ?9 @% i8 M, ]- E' G
请教大家一个问题3 J) G/ q2 ^; d0 ]$ l2 Y. h
最终bar和tab的值是多少?
+ h! |6 l% w, NBar定义为寄存器变量,默认的是无符号型,tab定义整型,默认32位无符号型。
" E) q2 F9 w+ _& `7 C% q7 X$ A书上说bar的最终结果是:61,tab的最终结果是:1073741821
7 y) R( l) N8 i) {6 H4 B9 Z
5 m1 t6 k. o0 Z; Z. t* S0 L2 e+ ~但是我总觉得bar的最终结果是13  (001101)5 @' l' ~. K: V# S! K4 S
9 f- {5 ]4 e' i9 d
请教大家,应该到底是多少呢?

该用户从未签到

2#
发表于 2014-3-7 23:50 | 只看该作者
本帖最后由 zgq800712 于 2014-3-7 23:54 编辑 3 W( @! A( _9 C: a) D
# x( b, `: t3 h# k4 c' d! L
Bar 是6位的,Bar=-4‘d12/4 ,那就是-3,* t) x1 x% R  D: S  R) B

4 N5 ~6 T0 T6 V5 X8 e0 ~, R最高位是符号位. ~+ {6 e! V  J( H
10,0011 --- 原码, n+ q2 E9 m; @- b
11,1100  ----- 反码
5 e7 d: o' M/ E* L' {) f11,1101 ------ 补码
7 H! i0 H7 x( U" t  P( }# Z  Z1 B0 V1 j& K6 I" E
负数就是按补码来的;11,1101 是多少? 就是61
( Q" n& G% Z1 f+ i0 e! a& s5 B- j5 ^! c4 |' [, C) d
另外一个算的不对,我算不出来
& |. \. j. p3 ]/ U! u
. Z, C0 M. q! M8 _6 T

该用户从未签到

3#
 楼主| 发表于 2014-3-8 17:33 | 只看该作者
zgq800712 发表于 2014-3-7 23:50
7 {- F7 b& P: L% sBar 是6位的,Bar=-4‘d12/4 ,那就是-3,
" T7 [) t2 j8 s5 p! F/ h5 s
9 A: E, {6 v" u9 [' q最高位是符号位
# o9 {9 U  G' \( w
另外一个也是先算的补码,因为tab是整形变量,默认32位,所以- 4'd12要先转化为32位的补码为FFFF_FFF4再进行计算,因为基数形式默认的是无符号型,所以便是:FFFF_FFF4/4=3FFF_FFFD它的十进制数就是:1073741821。这个数就是这么来的。所以我Bar的结果我总感觉不对,觉得应该是先将- 4'd12转化为6位的二进制补码110100=52,然后再除以4,结果得到的应该是13.

该用户从未签到

4#
发表于 2014-3-10 10:59 | 只看该作者
"/"的优先级高于“-”,第二个结果是不对的。

该用户从未签到

5#
 楼主| 发表于 2014-3-14 23:41 | 只看该作者
lvsy 发表于 2014-3-10 10:59
9 U5 F6 w, {- J" T* k% |9 ^: c. n7 @0 ~"/"的优先级高于“-”,第二个结果是不对的。
7 Y" E# A6 P/ i
这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

该用户从未签到

6#
发表于 2014-3-17 08:35 | 只看该作者
pipiliang 发表于 2014-3-14 23:41
$ j( g5 A4 v" r* N! p这么说的话,tab的值应该是-3喽?书上的那个结果是错误的?

# h8 V" j, j1 X" ?4 s$ n5 i4 ?2 p对,应该是-3。

该用户从未签到

7#
 楼主| 发表于 2014-3-26 20:44 | 只看该作者
lvsy 发表于 2014-3-17 08:355 |+ {, r0 @! n( E" T2 [, _  t  }; Z
对,应该是-3。
1 d2 ?8 x; v6 c& k
谢谢,终于明白了

该用户从未签到

8#
发表于 2014-3-29 10:07 | 只看该作者
VHDL  有符号库和无符号库, 用谁是谁。 无纠结
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-19 07:37 , Processed in 0.109375 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表