topics

全部话题 - 话题: 补码
1 (共1页)
w***w
发帖数: 1552
1
来自主题: EE版 - 问个2的补码的小白问题
做adc的数据转换,出来时2的补码,0x7FFF对应2v, 0x0000对应0v, 0x8000对应-2v,
怎么样简单从补码换算成电压?直接就输入补码转换成原码,除以0x7FFF?感觉这样算
是有点误差的。另外matlab2009里面好像没有找到直接补码换原码的函数?
谢谢
w**a
发帖数: 487
2
来自主题: JobHunting版 - 问题: 原码,反码,补码等 (转载)
【 以下文字转载自 CS 讨论区 】
发信人: wawa (life is tough), 信区: CS
标 题: 问题: 原码,反码,补码等
发信站: BBS 未名空间站 (Sat Aug 10 17:42:34 2013, 美东)
俺是半路出家的CS初学者, 请问各位, 需要深入掌握原码(sign-and-magnitude),反
码(ones' complement),补码(two's complement),以及移码excess-N等的原理及
计算么?
谢谢!
w**a
发帖数: 487
3
来自主题: CS版 - 问题: 原码,反码,补码等
俺是半路出家的CS初学者, 请问各位, 需要深入掌握原码(sign-and-magnitude),反
码(ones' complement),补码(two's complement),以及移码excess-N等的原理及
计算么?
谢谢!
c****p
发帖数: 6474
4
来自主题: CS版 - 问题: 原码,反码,补码等
补码最常见,要搞先把这个搞会。不过确实都是基础。
i*****t
发帖数: 24265
5
来自主题: EE版 - 问个2的补码的小白问题
搞单片机多了,看到除法头疼
1 最高bit=0正,没问题
2 最高bit=1负,补码伺候
没有必要浪费乘除资源,如果单片机的话
y*********e
发帖数: 518
6
来自主题: JobHunting版 - 找工作痛苦,招人其实也很痛苦
若是工作涉及到embedded device,或者不同平台的CPU,那些不一定用2位补码的,
这个就很重要了。按照平常写代码习惯,很多人会自觉的assume是2位补码。代码移植
到这种设备上就会有bug,而且是很难查出来的那种。
好的面官一般只会问工作上相关的东西。不相关的至多只要应聘者能回答就okay了,不
会如此的吹毛求疵。上面某个提这个问题的筒子,应该是EE相关的,做底层的那种,工
作上应该会这些打交道。
若是我面试出这个题目的话,只要应聘者能提到有多种补码方式,我就很满意了。具体
的补码实现方式可以去Google查到。但是若是连有多种补码方式都没意识到的人,写
的代码肯定不严谨,因为没有考虑到所有可能出现的情况。
y*********e
发帖数: 518
7
来自主题: JobHunting版 - 找工作痛苦,招人其实也很痛苦
这个取决于是什么补码实现吧,1's complement和2's complement结果是不一样的。
还有其他很多补码方式……wiki上就列了至少5种实现方式。
若是询问到是什么补码实现,而给出不同的表示方式,那么这个答案算上乘。给满分100分。
应聘者若是假设assume是2位补码(这个是最常见的),答案尚可接受,算下乘,给50分。
应聘者若是发呆无法回答,那么给0分。
不错的面试题。
j**l
发帖数: 2911
8
来自主题: JobHunting版 - 离奇的Amzaon第一轮电面
我的看法是,对四位二进制整数,计算机才不care它是signed还是unsigned, 对减去1
的操作,总是机械的加上1111
以1010为例子,加上1111并丢弃任何最高位的进位得到1001
1. 假如1010是unsigned, 则它表示10,而1001表示9,等式为10 - 1 = 9, 正确
2. 假如1010是signed,则补码表示-6,而1001的补码表示-7,等式为-6 - 1 = -7, 同
样正确
这两种情形都没有溢出。9在区间[0, 15]内,而-7也在区间[-8, 7]内
以1000为例子,加上1111并丢弃任何最高位的进位得到0111
3. 假如1000是unsigned, 则它表示8,而0111表示7,等式为8 - 1 = 7, 正确
4. 假如1000是signed,则该补码表示-8,而0111表示7,等式为-8 - 1 = 7, 不正确
情形3没有溢出,而4溢出了。7在区间[0, 15]内,而-9已不在区间[-8, 7]内了
p*i
发帖数: 411
9
来自主题: JobHunting版 - 弱弱的问一个整数问题
计算机里面数一般按补码存储
正数:补码跟原码一样
负数:例如-8,就是8按位取反再加一:1000->0111->1000
零:唯一的表示为0000
4位:最小的数是-8: 表示为1000
-7: 1001
-6: 1010
-5: 1011
-4: 1100
-3: 1101
-2: 1110
-1: 1111
d***e
发帖数: 710
10
来自主题: _FilmArts版 - 昨天看了寻枪,
呵呵/对不住/补码/补码
a***y
发帖数: 2803
11
加法器很有趣的一个东西,不过为了处理多位的加法,一个加法器就不够用了,然后出现
了什么并行加法器啊什么的.看了那個过程很有趣,感觉人类为一个多位加法进位能搞出
这么多花样,要花这么多功夫. 还有那個反码补码,其实就是为了能在一个硬件既能算加
法也能算减法.
d****o
发帖数: 32610
12
计算机不是本来就只会做加法么
加补码不就是减法了
忽悠文科生的吧
i*****y
发帖数: 3449
13
十年浩劫「文化大革命」的前因后果简述
唐德刚
吾人幼年读国史,从「纲鉴」、「通鉴」读到「四史」,尤其是在通鉴各章节中,
史不绝书的什么某地某年某月「大饥」、「人相食」、「民易子而食」,又是什么「大
蝗」、「大疫」等等刻板式的记载,可说是一览而过,头脑里印象毫无。想不到这种古
史上的记载,在现代中国,有时竟能及身而见之。一旦亲身体验之后,再读古书,往往
就有惊心动魄的震撼了。
抗战期间,笔者于一九三九年高中毕业之后,曾与同班同学三人结伴从╳的永绥县
,步行往干城县的所里镇,参加全国各大学统一招生考试。循传统的驿道,我们翻越崇
山峻岭南向走去。中途见路旁一木牌,上书「疫疠地区,禁止通行」。但是我们这四个
外省青年,不认得第二条路,加以年轻,又要赶路,我们就不顾一切的继续前进,并进
入一个有商铺民居数十家的小镇。时值盛夏,家家门窗都敞开着。我们竟然发现每家都
有死人,有时且不只一个。有的还在半死的状态中,痛苦的呻吟着。全镇不见行人,简
直是个鬼城。我们四人大惊,乃加快步伐脱离了该镇再南行十数里,进入另一熙熙攘攘
的小镇。我们在一小茶馆里探听前一小镇的情况,才知道是鼠疫流行。一旦发生,全镇
居... 阅读全帖
p********f
发帖数: 787
14
我90年代初在中学参加计算机兴趣小组,就是从原码, 反码、补码开始学起,学得我这
个呕吐。
g*******0
发帖数: 3240
15
来自主题: Military版 - 人家阿三是靠软件立国的
阿三在计算机上挺牛逼的。
最起码比中国强。
补码机制是谁搞的?
连USB接口都是又一个印度人是主要发明者。
g*******0
发帖数: 3240
16
来自主题: Military版 - 人家阿三是靠软件立国的
补码机制算不算?
这在计算机基础理论中算核心部分了
m***a
发帖数: 2262
17
小时候碰到个坏老师毁了也是有可能的,我九十年代初上初中,参加计算机兴趣小组,
不知道哪儿找来的一个大妈,从二进制、原码、反码、补码开始讲,讲了半个学期,一
下子把我兴趣毁了。

发帖数: 1
18
我都不忍看下去了,一个人持续打自己的脸。
这篇文章里面有h1b 07-17年之间,不同行业比例,不同国籍比例。你爱看自己去看,
叔不跟你这种智力缺陷的人浪费时间了。
https://redbus2us.com/h1b-visa-approval-trends-top-industries-top-countries-
fy-2007-2017/
你去看看码农占比减少了吗,还意淫别的行业出头填补码农空缺,能不能有点智商。
j**l
发帖数: 2911
19
来自主题: JobHunting版 - 离奇的Amzaon第一轮电面
我的理解,假定int是4位二进制,
则signed int 的取值范围是从-8到+7,最高位是符号位并采用补码表示法,而
unsigned int的取值范围是0到+15
如果i = 1000是signed int变量,则它表示-8
i--, 计算机就是机械的给它加上1111, 从而得到0111, 也就是+7
-8 - 1的算术运算发生溢出,你得不到-9这个你要的结果(它根本不在-8到+7的表示范
围内), 而只能得到+7
如果i = 1000是unsigned int变量,则它表示+8
i--, 计算机同样机械的给它加上1111, 从而得到0111, 也就是+7
+8 - 1的算术运算没有发生溢出,你得到的+7(它在0到+15的表示范围内)正是你要的结果
s*****n
发帖数: 5488
20
来自主题: JobHunting版 - careerup 2.4的答案是不是不对呀?!
负数用补码算。
P**********c
发帖数: 3417
21
来自主题: JobHunting版 - careerup 2.4的答案是不是不对呀?!
10进制的补码?ms是可以的,嗯。
i*******n
发帖数: 114
22
nvidia interview experience
location:
NVIDIA
San Thomas Expressway, Santa Clara
duration
2 hours, 1PM to 3PM
2 interviewers, each for 1 hour
------------------------------------------
cdj
xor eax, edx
sub eax, edx
问我这段代码干嘛。就是算负数的补码(Two's Complement),正数没变化
logic puzzle,
4 fuses, each fuse burns out in 40 minutes, create a fuse that can burn
in
20 minutes. slightly flawed problem. Because when you burn the fuse from
two
ends, it is not exactly 20 minutes. (Two combustion points are
certainly
faste... 阅读全帖
j*****I
发帖数: 2626
23
来自主题: JobHunting版 - 贡献一道M的链表题
好像是啊。可以不可以参照二进制码的运算,负数用补码表达。加减法全部转换为加法?
R********n
发帖数: 19
24
来自主题: JobHunting版 - 半小时之前的G电面,估计挂了
上来二话没说,直接做题。
题目倒是很简单:给一个int,计算里面的bit为1数量。引申出其他一些input的问题。
上来扯了一堆原码补码反吗二进制,好久没看,给绕晕了。而且有些term竟然忘了英语
怎么说,实在是憋屈啊!基础知识还是要复习啊!估计这部分表现不好,给人感觉基础
不牢固,应该比较减分。
最后绕回来,给了一个空间换时间的解法,每个字节不同值(0-255)的1的数量放在一
个array里面,然后把int分成四个字节直接查表算。
后来的问题是input是其他类型怎么办,比如int array之类的。方法类似。期间穿插一
些基础知识,比如sizeof,endians之类的。这部分还好。
最后还有五分钟多,说要给我出个random generator,我说是不是要实现线性同余法?
他说不是,又说忘记要出什么题目了,扯谈了一会,直接time is up, have a nice
day了。
教训:做题的同时,基础知识的复习还是不能放松。而且各种术语一定要记住英语是啥
。。。
希望对大家有帮助!
k*******2
发帖数: 84
25
谢谢!还有个问题,C++ reference里写的的INT_MIN 和 INT_MAX的绝对值是一样的啊
,为何(-INT_MIN) 如何是int的话会发生overflow? 这个是不是涉及到补码这些的东西
,已经不记得啦,多谢!!
b********s
发帖数: 16
26
小弟最近看cracking the coding interview 第五版上关于bit manipulation的内容,
有些不解。因为这本书的code基本是用java写的,所以我默认书上介绍的operators也
是java里的。
可是这本书介绍right shift operator时,只介绍了‘>>', 而且书上的例子是向右移
位后在左补0.
可我看JAVA DOC上写的,JAVA实际上有两种right shift operator, '>>' 和 '>>>',实
际上‘>>’移位后补的是整数2进制补码的sign bit,>>>才是无论怎样都补0.
请大牛们指点一下,我的理解是否正确呢,书上的内容是否有误?
另外想请教一下,是不是真正面试的时候即使有bit manipulation的内容也很少用java
考,一搬C\c++考的比较多吧?
d****i
发帖数: 4809
27
他大概不知道什么是补码。
k****e
发帖数: 126
28
不能默认所有芯片都用2的补码表示数据吧,最好说明一下
v***n
发帖数: 5085
29
来自主题: JobHunting版 - 问题: 原码,反码,补码等 (转载)
需要
l*****t
发帖数: 2019
30
来自主题: JobHunting版 - 问题: 原码,反码,补码等 (转载)
这玩儿没用了。怎么实干怎么来吧。
我觉得改行的,应该走剑宗的路线,不要走气宗的路数。
g**G
发帖数: 767
31
来自主题: JobHunting版 - 问题: 原码,反码,补码等 (转载)
这个塌下心来看看书学学也就几个小时的时间
w**a
发帖数: 487
32
来自主题: JobHunting版 - 问题: 原码,反码,补码等 (转载)
谢谢楼上各位!
g*********e
发帖数: 14401
33
来自主题: JobHunting版 - 问题: 原码,反码,补码等 (转载)
应该不需要 除非你就搞C 嵌入式
H**********5
发帖数: 2012
34
来自主题: JobHunting版 - 两道题,求解,谢谢
后面两题:
你说的解法是针对最高位为0的正数,对应的负数求补码的解法。
0x8000 0001 它的最高位已经是1了,即本身就代表负数。
顺便八卦个笑话,这是今天quiz的题,
quiz之前instructor名文手机放口袋里,结果考试时有烙印三哥看手机,
当场被老师没收试卷,赶出了考场,我心里那个高兴呵呵呵呵呵呵呵呵
b*******y
发帖数: 2048
35
找到了
并且补码了。。。
nice!很可爱的北方小伙子
s*****h
发帖数: 44903
36
今天30个mark份额用完 明天再给后来的同学补码点儿
s*****h
发帖数: 44903
37
来自主题: NBA版 - 份额用完了
12点之后补码
f*****n
发帖数: 18176
38
来自主题: Tennis版 - flushing看球兼修车攻略
一天了,没人对具体攻略感兴趣。好啊,补码字了。
S**I
发帖数: 15689
39
来自主题: CS版 - 问题: 原码,反码,补码等
这些是基本知识,而且搞明白也花不了多少时间。
w**a
发帖数: 487
40
来自主题: CS版 - 问题: 原码,反码,补码等
嗯, 谢谢!
H**r
发帖数: 10015
41
来自主题: CS版 - 问题: 原码,反码,补码等
complement那个看tutorial最多一天吧。。
k****f
发帖数: 3794
42
来自主题: Programming版 - 问个关于~的小问题(C++)
看看二进制的反码 和 补码
c***d
发帖数: 996
43
来自主题: Programming版 - [合集] 关于浮点数计算和underflow
☆─────────────────────────────────────☆
digital (你是疯儿我是傻?) 于 (Sun Aug 12 06:09:43 2007) 提到:
我原来的分析不是很严谨,现修改重发如下:
前面看到有人说浮点数计算和underflow的问题,
说是两个相近的浮点数相减不好,有人说会产生underflow,
有人说会损失有效数字(精度)。
http://www.mitbbs.com/article_t/Programming/24172384.html
我觉得是相近的数相减只有在很小的范围内才可能发生下溢出。
相反,我觉得浮点数的underflow更多可能是由除法(或者小数点
相对向左移动)导致的吧,因为除法直接导致指数部分的相减,
减到运算结果的指数部分那个整数的补码表示首位变正产生下溢。
而加减法,则是指数部分小的那个数要损失有效数字(精度)的。
而且是两个数字相差越大的话,那个小的数字的精度损失越严重。
反而是两个数字越相近的话,他们的减法运算的有效数字位数
的损失越小吧。我觉得通常要"舍”也是舍小的那个数。
同等精度的浮点数做加减,其
w***g
发帖数: 5958
44
来自主题: Programming版 - c++ 为什么不能由负变正
你用int64就可以了。32位补码表示这个负数没有对应的正数。
b**********7
发帖数: 120
45
来自主题: EE版 - 问个2的补码的小白问题
最高为0,直接除以7FFF再乘2V
最高为1,取反加1再除
a****l
发帖数: 8211
46
来自主题: EE版 - 问个2的补码的小白问题
adc出来的是16bit signed integer,你要把0x的数字cast成16bit signed integer.
matlab 中好像可以用typecast(x,type)转换的.
有误差是因为你没有校准过,简单的的确是可以用除法,比较准确的是要先校准再用线性
拟和.校准是必须的,所有的电子测量仪器都要校准的.

2v,
w***w
发帖数: 1552
47
来自主题: EE版 - 问个2的补码的小白问题
谢谢。
最高位为1,取反加1再除以2^16而不是2^16-1?
w***w
发帖数: 1552
48
来自主题: EE版 - 问个2的补码的小白问题
谢谢。线性拟合看着太复杂了。能简单介绍一下校准部分吗?
a****l
发帖数: 8211
49
来自主题: EE版 - 问个2的补码的小白问题
非常简单,就是你给输入一个x伏的电压,看输出的数字是多少.多测几个就出来标定的曲
线(实际应该是直线)了.
l***g
发帖数: 1035
50
来自主题: EE版 - 问个2的补码的小白问题
所以说光做算法没有用。如果是面世估计就直接pass leh...
用fixedpoint math 直接 cast to sfix16 就可以了。

2v,
1 (共1页)