C中原始类型的位

时间:2019-03-06 04:51:41

标签: c bit

好吧,我正在开始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;
    }

3 个答案:

答案 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位大。