sách gpt4 ăn đã đi

C 语言 以二进制方式访问内存

In lại Tác giả: Walker 123 更新时间:2023-11-30 21:12:29 34 4
mua khóa gpt4 giày nike

基本上我要问的是:

当我执行 a + b = c 时,c 以二进制形式存储在内存中。

如何访问该部分内存并以该形式检索 c 并在以后使用它。

示例:2 + 3 = 5 ,5 存储为“0101”。变量 d,将检索结果“0101”,我将能够输出它。

câu trả lời hay nhất

我猜你搞乱了数据在计算机世界中的表示方式。内存中的tất cả数据都是二进制的,由位组成,这些位按字分组。在 64 位系统上,内存字由 64 位组成。每个位的值可以是“on”或“off”=>“1”或“0”;

变量只是内存中保存数据的位置的符号名称。即

số nguyên i;

在内存中保留一个足以包含“c”中整数值的位置。默认情况下,“c”中的此类值通常(取决于操作系统)是 32 位宽。

int a, b, c;
a = 2;
b = 3;
c = a + b;

上面的所有变量都与内存中的不同位置相关。只要内存中存在该位置,“c”就会包含 5,直到有人将其更改为不同的值。

printf ("%d", c);

上述函数将二进制值“c”转换为字符值“5”并将其打印在屏幕上。这样您就会在屏幕上看到“5”。 “%d”告诉函数“c”是十进制整数值。

每个字符本身也由一个 int 值表示,尽管在 ascii 编码方案中它只需要“8”位来表示。因此,字符“5”被编码为 int 值 53。

 print("%c", '5') // will print '5'
print("%d", '5') // will print 53

逐位打印二进制数比较困难。 printf 中没有这样的格式说明符。因此,您需要编写一个小程序来逐位分析数字并将其打印出来:

#include 

int main() {
int a=2, b= 3, c = a+b;

for (int bit = 31; bit >= 0; --bit) {
if (((c >> bit) & 1) == 0)
printf("0");
khác
printf("1");
}
printf("\n");
trả về 0;
}

结果是:00000000000000000000000000000101

关于C 语言 以二进制方式访问内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53452899/

34 4 0
Walker 123
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress