关于整型提升与截断的一道题目

简介: 关于整型提升与截断的一道题目

关于整型提升与截断,可以看我的博客

C语言:整型提升_c语言整形提升-CSDN博客

C语言:截断+整型提升+算数转换练习_c语言unsigned-CSDN博客

一、题目

二、题解

char a=101截断

由于101是整型数据,需要32比特位存储空间,而变量a是char类型数据,只能存放8比特位存储空间。因此,需要对整型数据101进行截断:

0000 0000 0000 0000 0000 0000 0110 0101(101原码)

0000 0000 0000 0000 0000 0000 0110 0101(101补码)

0110 0101(char型变量a中截断存放的补码)

a+=27 对变量a进行整型提升(补码的高位补符号位)

0000 0000 0000 0000 0000 0000 0110 0101(char型变量a整型提升后的补码)

0000 0000 0000 0000 0000 0000 0001 1011(27的补码)

1000 0000(a+27经过截断后存放到char型变量a中的补码)

1111 1111 1111 1111 1111 1111 1000 0000(a+27整型提升后的补码)

0000 0000 0000 0000 0000 0000 1100 1000(200的补码)

0000 0000 0000 0000 0000 0000 0100 1000(200+a的补码)

0000 0000 0000 0000 0000 0000 0100 1000(200+a的原码)

转换为十进制为72

此题答案为 D

目录
相关文章
|
8月前
|
存储 C语言 C++
截断&&整型提升&&算数转换
截断&&整型提升&&算数转换
【Leetcode -415.字符串相加 - 434.字符串中的单词数】
【Leetcode -415.字符串相加 - 434.字符串中的单词数】
48 0
|
7月前
|
C语言
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
C语言----获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
|
8月前
|
小程序 C语言
【C语言】输入一个十进制正整数,将它对应的二进制数的各位逆序,形成新的十进制数输出。题目分析及拓展应用。
【C语言】输入一个十进制正整数,将它对应的二进制数的各位逆序,形成新的十进制数输出。题目分析及拓展应用。
123 0
|
8月前
|
C语言
[C语言][题]获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
[C语言][题]获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列
54 0
顺序打印整型数字的每一位
顺序打印整型数字的每一位
55 0
|
存储 算法 Java
leetcode刷题记录:7.整数反转,8.字符串转整数,9.回文数
leetcode刷题记录:7.整数反转,8.字符串转整数,9.回文数
61 0
|
C语言
已知一个整数,如何判断这个整数是无符号的?
已知一个整数,如何判断这个整数是无符号的?
101 0
剑指offer 19. 表示数值的字符串
剑指offer 19. 表示数值的字符串
48 0
|
C++
C++ 各种无符号整型能够在溢出之前计算出斐波那契数列的最大项数是几?答案是24、47、93
C++ 各种无符号整型能够在溢出之前计算出斐波那契数列的最大项数是几?答案是24、47、93
85 0

热门文章

最新文章