整數在記憶體中的儲存
阿新 • • 發佈:2018-11-09
整形在記憶體中的儲存
如果想要知道整形在記憶體那就必須知道什麼是原碼、補碼、反碼。
計算機中的符號數有三種表示方式,即原碼、反碼和補碼。三種表示方式均有符號位和數值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數值位三種方法各不相同。原碼
直接將二進位制按照正負數形式翻譯成二進位制就可以。反碼
將原碼的符號位不變,其他位按位取反就可以得到了。補碼
反碼+1就得到補碼。正數的原、反、補碼都相同。
對於整形來說:資料存放記憶體中其實存放的是補碼。
為什麼呢?
在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值統一處理。原因在於,使用補碼,可以將符號位和數值與統一處理;
同時,加法和減法也可以統一處理(cpu只有加法器)此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。
記憶體中的儲存
大端儲存模式,是指資料的低位儲存在記憶體中的高地址中,而資料的高位,儲存在記憶體的低地址中; 小段儲存模式,是指資料的低位儲存在記憶體中的低地址中,而資料的高位儲存在記憶體的高地址中。 如何判斷: #include<stdio.h>int check_sys()
{
int i = 1;
return (*(char *)&i);
}
int main()
{
if(ret == 1)
{
printf("小端\n");
}
else
{
printf("大端\n");
}
system("pause");
return 0;
}