恭喜,你发布的帖子
发布于 2021-06-04 16:30:41
2楼
答案你自己不是都说了嘛,要左移三位或者乘8
你认真看一下指针的数据结构自然就明白了,第0-3位表示位,4-19好像(忘记了)表示字节。
320直接传到指针,表示已经左移三位,也就是已经x8了,所以实际上表示的是40.0
我意思如果按照左移的思想来理解的话。
案例2,
整数320,转化为2进制是 1 0100 0000
如果用32位表示的话,应该是
0000 0000 0000 0000 0000 0001 0100 0000
用32位指针表示:
0000 0000 0000 0,000 0000 0001 0100 0,000
换算成指针形式,刚好是P#40.0
对于案例1,如果按照我理解的,
整数100,转化为2进制是 0110 0100
如果用32位表示的话,应该是
0000 0000 0000 0000 0000 0000 0110 0100
用32位指针表示:
0000 0000 0,000 0000 0000 0000 0110 0,100
换算成指针形式,是P#12.4,不是P#100.0
困惑点在于:
为什么,整数100,如果想得到P#100.0,是换算为2进制后,整体左移3位,否则就是P#12.4
但整数320,如果按照整体左移3位的话,得到的结果是P#320.0,而不是P#40.0
求大佬解惑。谢谢啦。
请填写推广理由:
分享
只看
楼主