c语言,16位里32768的原码是多少?
发布网友
发布时间:2023-06-06 00:45
我来回答
共2个回答
热心网友
时间:2024-11-19 10:48
C语言里面不存在原码表示这种码制,只有无符号数和带符号数的补码表示。
这里面,实际上应该说清楚要表示的是+32768,还是-32768的。
如果是+32768:
如果是无符号数,无符号数32768=2^15用16位二进制数表示为1000 0000 0000 0000。
如果是带符号数,16位补码表示的范围是-32768到32767,是不可能表示32768的。但32位补码就可以表示32768了。
如果是-32768:
如果是无符号数,当然不可以表示负数了。
如果是带符号数,16位补码表示的范围是-32768到32767,刚好就能表示-32768,二进制代码为1000 0000 0000 0000(和上面给的是一样的)。32位补码表示-32768就是在上面16位的前面再加上16个1,也就是 1111 1111 1111 1111 1000 0000 0000 0000。
热心网友
时间:2024-11-19 10:48
2^16 = 32768(10) = 1000000000000000 (2)