一乘法运算
原码一位乘法:
符号位与数值位分开处理
设机器字长为5位(含1位符号位,n=4),X=-0.1101,y=+0.1011,采用原码一位乘法求x.y
符号:一正一负,结果为负,即符号位=X⊕Y。
原码一位乘:
结果:-0.10001111
二:强制类型转换
void main(){
short x=-4321; //short型占用2个字节 x:1110 1111 0001 1111 y:1110 1111 0001 1111 ,真值61215
//无符号数与有符号数:不改变数据内容,改变解释方式。 存储的是机器数的补码。
unsigned short y=(unsigned short)x;
int a=165537,b=-34991;//int型占用4个字节
short c=(short)a,d=(short)b;//short型占用2个字节。 长整数变短整数:高位截断,保留低位。
//:a :0x000286al
//c:ox86a1 真值-31071
//b:0xffff7751
//d:0x7751 真值 30545
short x=-4321;
int m=x;
unsigned short n =(unsigned short)x;
unsigned int p =n;
//短整数变长整数:符号扩展。真值不会被改变。
//x:1110 1111 0001 1111
//0xef1f
//m :1111 1111 1111 1111 1110 1111 0001 1111
// 0xffffef1f 真值 -4321
// n:1110 1111 0001 1111 0xef1f 真值 61215
//p:0000 0000 0000 0000 1110 1111 0001 1111
// 0x0000ef1f 真值61215;
}