日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c或c++语言什么时候用补码来运算,C/C++(基础编码-补码详解)

發布時間:2024/1/23 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c或c++语言什么时候用补码来运算,C/C++(基础编码-补码详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

兩個數的交換

1.引入第三者。 2.求和運算,求差。(這樣會產生內存溢出) 3.異或運算

a = a^b;

b = a^b;

a = a^b;

8b(bit位) = 1B(Byte=字節)//最小單位是字節

32位機:2^32 = 4G尋址能力

(王爽--統一編址,匯編語言) char類型一個字節,8位。[-128,127],2^8=256種, why?[-128,127];深層的編碼采用補碼,1,表示負數。 正常的:

0000 0000 1

0000 0001 2

0111 1111 127

...

1000 0000 -0

...

1111 1111 -127

這樣1+-1=-2; 補碼規則:

0000 0000 0

0000 0001 1

0111 1111 127

...

1000 0000 -128

-127

...

1111 1111 -1

計算機只會做加法,1+-1=0;0000 0001 + 1111 1111= 0000 0000;高位溢出得0;

#include

int main() {

char a = 0;

disBin(a);

char b = 1;

disBin(b);

char c = 2;

disBin(c);

char d = 127;

disBin(d);

char e = -128;

disBin(e);

char f = -2;

disBin(f);

char g = -1;

disBin(g);

}

//打印一個數的二進制

void disBin(char ch) {

int i = 8;

while(i--) {

if((1<

printf("1");

}else {

printf("0");

}

if(i%4 == 0) {

printf(" ");

}

}

putchar(10);

}

補碼的出現所有的乘法,除法,減法,都用減法實現。 補碼的規則:(運算互為逆運算) 所有的整數的補碼是他本身,所有的負數,取絕對值后取反,加一。 逆過程的運算,最高位是1,是負數。全部參與運算取反加一。 0的補碼是0; 補碼的運算相當于12進制的時鐘,其中順時針為正,逆時針為負。例如:當前時鐘在3點,要點到8點。可以順時針一可以逆時針。3+5=8,(3+12)-7=8;中的12溢出,在這之中相加互為12的稱之為“補數”。 計算機中的所有減法,乘法,除法都可有加法計算。 1-2=1+(-2),也就是相當于1加上-2的補碼。 注意:一個8位的空間,如果用來表示無符號數0-255(0-2^8-1),如果表示有符號的數:-128-127(-2^7-2^7-1)。

sizeof();

sizeof(char);//1字節

sizeof(short);//2字節

sizeof(int);//4字節

sizeof(long);//4字節

sizeof(long long);//8字節

1字節 char

0 - 255 unsigned char(無符號) 0 -2^8-1

-128 - 127 signed char -2^7 -2^7-1

2字節 short

0 - 65535 0 - 2^16-1

-32768 - 32767 -2^15 - 2^15-1

4字節 int

0 - 2^32(40億)

-2^31 - 2^31-1

long(4個字節)沒有擴展,

long long(8個字節)。

0 - 2^64

-2^62 - 2^63-1

int 基本整型 理想的32位機,地址總線和數據總線都是32位的。

有效數字,從左至右不為0的數字。超出類型的限制之后的數字不保證正確。 float,doouble;

數據類型圖:

總結

以上是生活随笔為你收集整理的c或c++语言什么时候用补码来运算,C/C++(基础编码-补码详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。