好吧,我正在开始C语言学习,剩下的问题是:如何填充原始类型的位(例如int类型)有4个字节,即32位,最多可容纳4294967296。但是,例如,如果我使用的值仅占用1个字节,那么其他位如何保留?
#include <stdio.h>
int main(void) {
int x = 5; // 101 how the rest of the bits are filled
// which was not used?
return 0;
}
答案 0 :(得分:0)
所有前导位将设置为/**
* @param string $pathToZipFile
* @param string $extractTo
*/
function extractZipFiles($pathToZipFile, $extractTo)
{
$zip = new ZipArchive();
$zip->open($pathToZipFile);
$zip->extractTo($extractTo);
$zip->close();
}
,否则该值将不是0
。一点点,在当今的计算机中,只有两种状态,因此如果不是5
,则是0
,这将导致存储的值不同。因此,假设您拥有32位
1
答案 1 :(得分:0)
剩余的位存储为0。
int a = 356;
现在让我们将其转换为二进制。
1 0 1 1 0 0 1 0 0
现在您将获得9位数字。由于int会分配32位,因此请用0填充其余的23位。
所以存储在内存中的值是
00000000 00000000 00000001 01100100
答案 2 :(得分:0)
您选择的类型决定了整数的大小,而不是您存储在变量内部的值。
如果我们假设int
是系统上的32位,则值5
将表示为32位数字。是0000000000000000000000000101
二进制或0x00000005
十六进制。如果其他位具有其他值,它将不再是数字5,即32位大。