无符号类型笔记-C++

本文通过一个简单的C++程序展示了无符号类型在处理负数时的不正常行为。当尝试用无符号类型表示负数时,实际存储的是负数的补码,并可能导致意想不到的结果,如22减去25得到65533。理解无符号类型的特点对于避免编程中的错误至关重要。
摘要由CSDN通过智能技术生成

无符号类型

#include <iostream>
#include <Windows.h>

using namespace std;

int main(void) {
	unsigned short  boy;
	unsigned short  girl;
	unsigned short  number
	cout << "美女,多大了?" << endl;
	cin >> girl;  //输入5
	cout << "帅哥,多大了?" << endl;
	cin >> boy;  //输入2

	number= girl- boy;
	cout << "美女比帅哥大" << number<<"岁" << endl;

	number= boy- girl;
	cout << "帅哥比美女大" << number<< "岁" << endl;
//输出65533
	system("pause");
	return 0;
}

当22-25时得到的是一串数字,
即无符号类型不能表示负数.
如果强行使用无符号表示负数,实际储存的是这个负数的对应"补码"
模值就是这个类型,表示的最大值
该负数+“模值”
-3+65536=65533;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值