99问答网
所有问题
有符号的char变量被强制转换为int的时候,是怎么运算的
一个有符号的char a=0xFE, 254值超出了char的表示范围。a的值应该是未定义的。但是int(a)强制转换为整型的时候,结果又变成-2了,这该怎么解释?-2又是怎么来的?谢谢
举报该问题
推荐答案 2015-08-10
0xfe 存放在一个字节内存中时, 二进制形式为 1111 1110
而变量a也是一个字节, a=0xfe意味着1111 1110这八个比特原样copy到a所在位置.
但是, a是有符号的, 计算机会将a中这八个比特解释为有符号数. 这个有符号数显然是负数, 因为最高位是1. 那到底是负的多少呢? 我们将八个比特取反加1看看
1) 取反, 得到 0000 0001
2) 再加1, 得到 0000 0010
所以, 结论是, 负2
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/z7vtevBOvzeWvztOjv.html
相似回答
C语言的浮点型
怎么转换为
整型?
答:
(1)执行算术
运算时,
低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,
char
型
转换成int
型等。(2)赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边
变量的
类型,并赋值给它。(3)函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为...
C语言数据类型的
转换
答:
1) 若参与运算量的类型不同,则先转换成同一类型,然后进行运算
。2) 转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。a.若两种类型的字节数不同,转换成字节数高的类型 b.若两种类型的字节数相同,且一种有符号,一种无符号,则转换成...
char
*怎样
转成int
答:
1.首先,在python命令窗口中键入
int
(12,2)。结果是一个错误。2.
改为
24589。3.将int()方法中的第一个参数字符串的数量更改为0和1。4.如果希望将字符串
转换为
八进制数,请使用int()方法并传递第二个参数8。5.将字符串值转换为decimal,将第二个参数传递给2,并返回相同的结果。6.如...
在c++中
char
类型的数组里边装的是数字,如何
转换为int
类型?
答:
cha和r
int
数组
转换,
例:intI[2]={1,2}
char
c[2]={1,2} 两者转换代码:inta[2]={1,2};charc[2];for(inti=0;i<2;i++)c[i]=a[i];
Int是
将一个数值向下取整为最接近的整数的函数,为取整函数。
...型参与
运算时,
必须先
转换成 int
型.具体
是怎样的
?下面为什么出错了...
答:
A.
char
型和short型参与运算时,必须先
转换成int
型。 B.所有的浮点
运算都是
以双精度进行的,即使仅含float单精度
变量运算的
表达式,也要先转换成double型,再作运算。A和B的运算都属于升级(promotion). C.在任何涉及两种数据类型的操作中,它们之间等级较低的类型会被转换成等级较高的类型。在...
做题遇到的C语言问题
答:
int的
表示范围是-32768~+32767。ch1+ch2的值,由于在C语言中默认的数据类型
是int
,计算结果还未超出范围,就显示正确。而ch由于超出了
char
的表示范围,所以它将最高位的1理解为负数了,显示的值是140-256=-114。(在模256时,-114与140是“相等”的,就好比钟面上将时钟拨12个小时时,读数被认为是...
C语言中
强制
类型
转换
究竟改变了什么
答:
不同类型的
变量
在内存中有不同的存储方式和不同长度
,强制
转型前后有什么不同都要
转换
过来。例如
int
y=3;
char
x=(char)y;,他们只是长短不同,就把y的高3字节全截掉,只把最低一个字节赋给了x;反过来,若char y=3;int x=(int)y;,那么,将把高3字节全用0补齐。若是浮点数与整型数强制...
c语言
强制
类型
转换
赋值
怎么运算,
有例题
答:
空间不够哇。整型占用内存为4个字节,字符型内存占用为1个字节。只能存一个字节的内容,至于为什么存低位,是为了小数字赋值时不丢失数据。就好像用8位数 00000123赋值给4位数变成0123,保留低4位不会丢失数据。只是放到计算机里不是用十进制而是二进制,道理是一样的了。
c语言中
char
型数据能直接
运算
吗?
答:
你想对地址为0的一个字节赋值。unsigned
char
*p=0;地址为0*p=0;赋值实际运行时在有内存保护的操作系统中,可能系统不允许你随便更改不属于该程序的内存空间。可以。一个整型
变量
可以是十进制,也可以是十六进制,只是表示方法不同罢了。至于
运算
结果,你想输出十进制就输出十进制,想输出十六进制就输出...
大家正在搜
java char转int
int和char可以相互转换吗
c语言int转char
char型变量的声明
char转化int
char和int的区别
char数组转int
c语言char怎么用
int转string
相关问题
将int型数据强制转化成char变量的规则是什么?
c语言中,怎样把内容为数字的char转换为int?
c++中char类型变量如何转换成int类型变量?
如何将char型转换成int型?
java里不是说char类型自动向int型转换吗?那为什么....
Java中的char型怎样转换成int型?
C语言教程中说,char 型和 short 型参与运算时,必...
c语言 强制类型转换赋值 怎么运算,有例题