带你学C带你飞课后作业s1e21第四题
本帖最后由 影影影影影少丶 于 2021-5-4 13:17 编辑4. 在内存中捕获到一组 32 位数据如下:
0110 0111 0110 11000110 1111 0110 0010
请问它的值可能是(多选,可借助计算工具):
A. 1 个 32 位整数:1735159650
B. 2 个 16 位整数:26476 和 28514
C. 4 个字符:glob
D. 浮点数:1.116533 * 10^24
正确答案是A、B、C、D。
大佬们,请问为什么B选项也正确呢?我知道0110 0111 0110 1100转化为十进制是26476、0110 1111 0110 0010转化为十进制是28514
但是整型在内存中不应该是占据连续的4个字节吗?
如果分成两个数,不应该是xxxx xxxx xxxx xxxx 0110 0111 0110 1100和0110 1111 0110 0010 xxxx xxxx xxxx xxxx 这样才对吗?
前一个如果未知x全为0还能说是26476,但是后一个就算未知的x全为0也不可能是28514了呀? 额。打扰大家了,是我脑子不清醒。题干指明了16位。没问题了 请问为什么B选项也正确呢?我知道0110 0111 0110 1100转化为十进制是26476、0110 1111 0110 0010转化为十进制是28514
但是整型在内存中不应该是占据连续的4个字节吗?
1. 你说的整型指的是int吗?
标准没有规定int是4个字节,不过大部分编译器在32位操作系统下是4个字节
如果int是4个字节,估计short是2个字节
如果是short类型的整数,不就是两个16位的了
人造人 发表于 2021-5-4 13:02
请问为什么B选项也正确呢?我知道0110 0111 0110 1100转化为十进制是26476、0110 1111 0110 0010转化为十进 ...
谢谢大佬解答^_^
页:
[1]