无符号整型与有符号整型相运算规则

Posted peki10

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无符号整型与有符号整型相运算规则相关的知识,希望对你有一定的参考价值。

有符号数和无符号数运算的时候,有符号数会自动向无符号数转换

 1 #include<iostream>
 2 #include<ctime>
 3 #include <stdio.h>
 4 #include<cstring>
 5 #include<cstdlib>
 6 #include <map>
 7 #include <string>
 8 using namespace std;
 9 
10 #if TEST
11 int main(){
12     int a = -3;
13     unsigned int b = 2;
14     int c = a+b;
15     printf("c:%u\\n", c);
16     printf("c:%d\\n", c);
17     int x = -3;
18     unsigned int y = 2;
19     unsigned int z = x+y;
20     printf("z:%u\\n", z);
21     printf("z:%d\\n", z);
22 }
23 #endif
View Code

 

u c:4294967295
d c:-1
z:4294967295
z:-1

有符号正数采用原码表示,负数采用补码表示;

无符号原码表示。

以上是关于无符号整型与有符号整型相运算规则的主要内容,如果未能解决你的问题,请参考以下文章

C语言中,64位无符号整型如何进行开方运算?

基本类型:整型与字符型

uint是几位无符号整数?

uint是几位的整型啊,uint16是几位的?

delphi数据类型问题

C语言位运算的应用如何按bit位翻转一个无符号整型