社区
C语言
帖子详情
下面的结果用16进制怎么表示?
amy3701229
2004-08-15 08:57:57
((0x40<<12)+(0x4<<4)+0x1)
上面的结果用16进制怎么表示?怎么算出来的啊?
...全文
150
7
打赏
收藏
下面的结果用16进制怎么表示?
((0x40<<12)+(0x4<<4)+0x1) 上面的结果用16进制怎么表示?怎么算出来的啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangfjj
2004-08-15
打赏
举报
回复
做位或运算(16位)
0000 0000 0000 0000
0000 0000 0100 0000
0000 0000 0000 0001
-----------------------
0000 0000 0100 0001
即0x41
amy3701229
2004-08-15
打赏
举报
回复
如果是下面的数呢?
(0x40<<12)|(0x4<<4)|0x1
zhangfjj
2004-08-15
打赏
举报
回复
上面用的是32位系统
以turbo c 16位系统为例来分析
0x40<<12 左移12位
0000 0000 0100 0000 --->0000 0000 0000 0000
0x4<<4 左移4位
0000 0000 0000 0100 --->0000 0000 0100 0000
所以在16位编译系统中
结果应该是
0x0+0x40+0x1-->0x41
你自己分析32位编译系统中的结果吧
dhfly
2004-08-15
打赏
举报
回复
0x40<<12 == 0x40000
0x4<<4 == 0x40
即:
0x40000+0x40+0x1 == 0x40041
算起来很简单,每一位16位等于4位二进制,即二进制左移4位16进制就移动一位,所以第一个16进制左移3位,第二个左移一位。
leasun
2004-08-15
打赏
举报
回复
faint,这个问题是不是太容易了
zqpsswh
2004-08-15
打赏
举报
回复
0x40左移12位就是在后面加3个零 0x40000
0x4左移4位就是后面加1个零 0x40
再加0x1
就是0x40041
zhangfjj
2004-08-15
打赏
举报
回复
#include <stdio.h>
int main()
{
printf("%x\n",((0x40<<12)+(0x4<<4)+0x1));
}
输出:
40041
c 语言
16进制
写法,C语言
16进制
中16怎么
表示
?
关注:275答案:4手机版解决时间 2021-02-16 21:21提问者童話被染上了傷2021-02-15 23:02C 中
16进制
16 是用10
表示
吗?8进制中逢8进一 也写作10?最佳答案二级知识专家X謝你的出現2021-02-15 23:41
16进制
16 是用10...
java 8进制
16进制
表示
方式_在java中怎么
表示
八进制和十六进制?实例展示
大家都知道数据在计算机中的
表示
,最终都会以二进制的形式存在,因此二进制的使用是十分广泛的。但是,存在一个问题,就是二进制数实在太长了。比如int类型占用4个字节,32位。比如100,用int类型的二进制数表达将是...
还搞不懂负数怎么用二进制
表示
?看完这一篇就懂了
学过计算机组成原理的小伙伴们都知道,在计算机中,负数的二进制是用2的补码
表示
负数的。 那么,为什么要用这种方式
表示
负数?有什么好处? 我们一起来看下吧。 为什么用这种方式
表示
负数 计算机的内存通常都是由8位...
计算机基础- -计算机为什么要使用二进制
文章目录计算机基础- -计算机为什么要使用二进制一、为什么用二进制
表示
二、什么是二进制数三、移位运算和乘除的关系四、便于计算机处理的补数五、算数右移和逻辑右移的区别六、逻辑运算的窍门 我们都知道,计算机的...
c语言浮点数用
16进制
表示
方法,浮点数用十六进制
表示
方式附C代码
浮点数用十六进制
表示
;我这里遇到的问题是知道数值,但需要把数值发送到上位机里显示波形,但是上位机是以浮点数的存储格式来解析的,但是我的单片机不支持float类型,所以我的需求是把已知的数值看做是浮点数,...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章