【计算机基础理解】

本文介绍了计算机中数值运算的基础,包括原码、反码和补码的概念,特别是对于正负数的不同表示。同时,详细阐述了左移和右移操作,如int1左移和右移的含义,并通过实例展示了数值如何在位移过程中变化。此外,还提及了将short、int、long等类型转换为byte数组时的右移处理,以及负数在补码表示下的转换规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.原码、反码、补码

计算机中计算使用的是补码,正数的补码、原码、反码一致,负数的反码(补码基础上-1)、原码在反码基础上取反。

2.左移、右移

int 1<<2 (1向左移动两位,即1乘以2的2次方)
int 1<<3 (1向左移动三位,即1乘以2的3次方)
int 4>>2((4向右移动两位,即8除以2的2次方))
int 8>>2((8向右移动三位,即8除以2的3次方))
注:左移后面补0,右移前面补符号位

3.例子

short、int、long等类型转byte数组进行右移
short i=1; 二进制:00000000 00000001
00000001 & 0xff 为 byte[0]=1 右移动0位
00000000 & 0xff 为 byte[1]=0 右移动8位
byte数组为byte[2] j ={1,0}
注:负数的补码减1取反得原码,取反加1也得原码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值