当前位置:   article > 正文

强制类型转换原理_强制类型转换是高位

强制类型转换是高位

关于强制类型转换在语言方面的概述,可见
强制类型转换

有一定基础的应该了解,强制类型转换的原则是:
高位截断,低位保留

看代码

#include <iostream>
using std::cout;
using std::endl;
int main() {
	int a = 165537;
	short b = (short)a;
	cout << b << endl;
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

变量a在计算机中表示为
在这里插入图片描述
变量b在计算机中表示为
在这里插入图片描述
int占4个字节,short占2个字节

a的表示为a1 86 02 00

高位截断一般即02 00????不对啊,怎么回事?

大端模式和小端模式
计算机中一般存储数据分为大端模式和小端模式,由此可知该编译器是大端模式:低地址存储高字节,高地址存储低字节

即正确的a由高到低是00 02 86 a1

截断高位,保留低位,即86 a1

由于大端模式的原因,变量b在编译器中显示即为86 a1 cc cc

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/272447
推荐阅读
相关标签
  

闽ICP备14008679号