首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
有如下C语言程序段shortsi=-32767;unsign
[单选题]
有如下 C 语言程序段
short si = -32767;
unsigned short usi = si;
执行上述两条语句后,usi 的值为
-32767
32767
32768
32769
查看正确选项
添加笔记
求解答(12)
邀请回答
收藏(9)
分享
纠错
3个回答
添加回答
4
牛客133709158号
-32767的原码用二进制表示为 1111 1111 1111 1111 (
) ,用机器码表示 则为 1000 0000 0000 0001,将该值赋给无符号型short ,那么usi的机器码就是
1000 0000 0000 0001,最高位的1不再代表符号位,对应的数值就是
= 35768 + 1 =35769
发表于 2021-12-18 08:59:43
回复(0)
2
牛客526277285号
short为16位,C语言中的数据在内存中为补码表示形式,si对应的补码二进制形式表示为1000 0000 0000 0001B,最前面的一位“1”为符号位,表示负数,即-32767。由signed型转化为等长的unsigned型数据时,符号位成为数据的一部分,即负数转化为无符号树数(即正数)时,其数值将发生变化。usi对应的补码二进制表示与si的表示相同,但表示正数,为32769
发表于 2021-09-17 17:43:57
回复(0)
0
Augustalwayssafe
D
发表于 2023-02-22 20:11:06
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
2016
Java工程师
上传者:
小小
难度:
3条回答
9收藏
8839浏览
热门推荐
相关试题
下列有关Beta测试的叙述中,正确...
京东
软件测试
2016
测试工程师
评论
(7)
软件测试是软件开发过程中的一个重要...
京东
2016
测试工程师
软件测试
评论
(5)
华华给月月准备礼物
思维题
评论
(5)
一个ISR作为单一生产者,需要向单...
FreeRTOS
评论
(1)
关于 asyncio 并发模型,以...
Python
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题