大华面试题

jijiyuyisheng 2012-02-03 04:58:15
unsigned int a = 32;
int b = -6;
unsigned int c = a + b;

C = ?为什么?


去大华面试的时候被问到的问题,被鄙视了。
...全文
4215 57 打赏 收藏 转发到动态 举报
写回复
用AI写文章
57 条回复
切换为时间正序
请发表友善的回复…
发表回复
嘿嘿2012 2013-05-28
  • 打赏
  • 举报
回复
引用 14 楼 laohanaa888 的回复:
求职过程: unsigned int a = 32; int b = -6; unsigned int c = a + b; a : 0010 0000 b: 1 0000 0110 b准换为unsigned int后, 0 1111 1001 之后用a 和 准换后的b 进行相加,剩下的就是 0001 1001 对于这些讲解不是很详细,也不是太清楚,楼主将就着看下吧,嘎嘎....
考到C语言中补码的只是吧?
showwe 2012-02-08
  • 打赏
  • 举报
回复
呵呵,还好是考验无符号整型,不考验最大值,汗一把
sifinc 2012-02-08
  • 打赏
  • 举报
回复
弹奶奶弹到High

[Quote=引用 55 楼 qymwsj 的回复:]
引用 46 楼 qyee16 的回复:

引用 45 楼 yhcctv 的回复:

这种面试官可以去死


找到面试官,弹他JJ,弹到死。。。。。。。。。。。



面试官是女的怎么办···
[/Quote]
qymwsj 2012-02-08
  • 打赏
  • 举报
回复
[Quote=引用 46 楼 qyee16 的回复:]

引用 45 楼 yhcctv 的回复:

这种面试官可以去死


找到面试官,弹他JJ,弹到死。。。。。。。。。。。
[/Quote]


面试官是女的怎么办···
gongyuanh 2012-02-08
  • 打赏
  • 举报
回复
我的回复呢
gongyuanh 2012-02-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 nice_cxf 的回复:]

必然还是26,不过中间有个溢出而已
先把-6转成无符号,以32位为例,=0xfffffffa;
0xfffffffa+0x20溢出后=0x1a
[/Quote]
unsigned数和signed数运算时,unsigned会先被转为signed数,忘记在哪书上看到的了。所以32+-6=26,26再转为unsigned数,VS2005上通过
Ever_lover 2012-02-07
  • 打赏
  • 举报
回复

#include<stdio.h>
int main()
{
unsigned int a = 32;
int b = -6;
unsigned int c = a + b;
printf("%x\n",c);
}
[root@localhost ~]# ./1
1a
26是正确的
Qyee16 2012-02-07
  • 打赏
  • 举报
回复
[Quote=引用 45 楼 yhcctv 的回复:]

这种面试官可以去死
[/Quote]

找到面试官,弹他JJ,弹到死。。。。。。。。。。。
yhcctv 2012-02-07
  • 打赏
  • 举报
回复
这种面试官可以去死
土官 2012-02-07
  • 打赏
  • 举报
回复
C是一个大于零的未知数。
jacksuperlan 2012-02-07
  • 打赏
  • 举报
回复
说到底就是类型转换问题.开发的时候的二个以上的不同类型运算注意点.
落花东流水 2012-02-06
  • 打赏
  • 举报
回复
unsigned int a = 32;
int b = -6;
unsigned int c = a + b;
b会自动转换为unsigned类型,二进制位1111 1111 1111 1111 1111 1111 1111 1010
a二进制为0000 0000 0000 0000 0000 0000 0010 0000
相加为0000 0000 0000 0000 0000 0000 0001 1010 高位溢出 十进制为26
wqOoops 2012-02-06
  • 打赏
  • 举报
回复
主要是考细节问题... 大于32,可能是考官把溢出也算进去了吧~
HydrogensaysHDT 2012-02-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 jijiyuyisheng 的回复:]
unsigned int a = 32;
int b = -6;
unsigned int c = a + b;

C = ?为什么?


去大华面试的时候被问到的问题,被鄙视了。
[/Quote]

= = 26。。。无视符号修饰,只看位。。。汇编才不会区分有符号和无符号呢
钟焕明 2012-02-06
  • 打赏
  • 举报
回复
C++ primer 中说
把负值赋给unsigned是合法的,其结果是该负数对该类型的取值个数求模后的值.
钟焕明 2012-02-06
  • 打赏
  • 举报
回复
-6求模是250,250+32=282,数据溢出,282-256=26,始终还是26
maoloverme1 2012-02-06
  • 打赏
  • 举报
回复
看深入理解计算机系统,对这些问题就会有非常深入的理解了!楼上的很多都是正解!
v_edison 2012-02-06
  • 打赏
  • 举报
回复
大于32的数?叫他去吃屎。

#include <stdio.h>
#include <vector>
#include <time.h>
#include <math.h>
#include <iostream>
using namespace std;
void test01()
{
unsigned int a = 32;
int b = -6;
unsigned int c = a + b;

printf("c=%u\n",c);
cout<<"c="<<c<<endl;
}
int main()
{
//cTest();
//sqrtTest();
test01();
return 0;
}


c=26
c=26
请按任意键继续. . .
卢飞鹏 2012-02-06
  • 打赏
  • 举报
回复
26没错哈,呵呵
gump 2012-02-06
  • 打赏
  • 举报
回复
我的解释:
C语言中,当一个有符号数和一个无符号数进行运算的时候,会将有符号数转换成无符号数。
所以请看(以32位来说明问题):
unsigned int a = 32;
int b = -6;
unsigned int c = a + b;
即将b转换成无符号数为-6+2^32
所以正常情况下应该是这样的c=-6+2^32+32=2^32+26的,但是!!!因为unsigned int 最大为2^32-1,这里就发生了溢出问题,因为unsigned int 的范围为0~2^32-1。所以溢出后,就又从零开始,由2^32+26=2^32-1+27得知需要从零数到第27个数,也就是26,因此本题的答案肯定是26,肯定是的!

加载更多回复(34)
本季课程在开发板上移植USB WIFI模块(套装附带的MT7601模块),工作在ap模式下,并且用电脑通过WIFI去连接开发板实现主机和开发板的无线网络局域网通信,这样就可以用WIFI网络取代板载ethernet有线网络方式来进行调试和局域网视频预览。现在很多的视频摄像头产品都要求支持无线网络连接功能,本季课程主要是针对这方面开发技术讲解的。随着通信行业发展,网速越来越快,网络也从文本时代发展越过语音时代到了现在视频时代,“优酷、爱奇艺”、“微视频”、“直播”等的出现也是视频逐步成为主流媒体的证据和表现。航拍、视频监控、刷脸过关检测、汽车ADAS系统等应用也是视频在主流行业中的应用,因此视频的采集、编解码、传输、识别等技术变得越来越有价值,涌现出了“海康威视”、“大华股份”、“深圳英飞拓”等一批明星企业,名扬海内外,动辄市值几百亿。同时在芯片级,国产华为海思HI35XX系列视频编解码方案也逐步取代进口芯片(如TI、安霸)成为主流方案。视频行业技术含量高、难度大、学习周期长、发展变化快而资料少,因此行业比较缺人、工资较高。如海康威视,普通高校硕士研究生应届进入年薪普遍高于15-20万,在嵌入式linux领域也算高工资技术方向了。本项目是朱老师及其团队推出的一个嵌入式linux领域重量级企业级实战项目,选用华为海思HI3518E方案,结合OV9712/AR0130 Sensor实现图像采集和H.264编码压缩,并通过ethernet和WIFI,以socket实时流和RTSP等方式,实现720P/960P高清视频传输。本项目共分11季,从海思SDK开发环境搭建,到sample程序讲解、SDK中API函数解析,到H.264编解码、RTSP流媒体传输、MP4文件打包,到图像IQ调试、图像识别等视频领域高阶内容,可以说从零基础入手,对图像采集、编解码、网络传输、图像存储和识别做了全方位的详细讲解和代码分析,是目前市面上**一套系统讲解图像和视频技术的视频课程。

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧