目录
前言
本篇文章记录整数在内存中存储练习题,巩固基础。
一、整型值赋值给signed char和unsigned char
解题入手点:
- 将整型值转换为补码二进制
- 截断,将整型值的补码的低八位存储到signed char或unsigned char变量中
- 输出时,signed char和unsigned char都需要需要整型提升;
将signed char的整型提升后的补码转换成原码后输出,unsigned char直接输出。
注意:visual studio 2022编译器中的char默认类型为signed char
以下题目均运行在32位机器
1.1 将整型值-1分别赋值分signed char和unsigned char
结果分析:
-1的二进制如下
原码->1000 0000 0000 0000 0000 0000 0000 0001
反码->1111 1111 1111 1111 1111 1111 1111 1110
补码->1111 1111 1111 1111 1111 1111 1111 1111
-1的低八位:1111 1111
则 变量a 的二进制位:1111 1111
变量b的二进制:1111 1111
变量c