(三)原码、补码、反码和数据类型转换

这篇博客介绍了计算机中原码、补码、反码的概念,强调了它们在减法运算中的作用。博主详细讲解了Java中的基本数据类型,包括各自的大小和默认值,并讨论了数据类型的转换以及赋值操作中的注意事项。同时,博主分享了学习过程中的挑战和解决方法,表示将继续努力学习。

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

学习内容

  • 原码、补码、反码
  • 数据类型
  • 变量
  • ASCII码
  • 赋值
  • 强制类型转换
  • 字符拼接

原码、补码、反码

  • 为什么要学习? 后面要学习强制类型转换,如果不知道有原反补会看不懂结果。

根据冯~诺依曼提出的经典计算机体系结构框架。一台计算机由运算器,控制器,存储器,输入和输出设备组成。其中运算器,只有加法运算器,没有减法运算器

所以,计算机中的没法直接做减法的,它的减法是通过加法来实现的。的减法也可以当成加法的,减去一个数,可以看作加上这个数的相反数。当然没错,但是前提是要先有负数的概念。这就为什么不得不引入一个该死的符号位。

从硬件的角度上看,只有正数加负数才算减法。
正数与正数相加,负数与负数相加,其实都可以通过加法器直接相加 
原码,反码,补码的产生过程,就是为了解决,计算机做减法和引入符号位(正号和负号)的问题。

原码

原码:是最简单的机器数表示法。用最高位表示符号位,‘1’表示负号,‘0’表示正号。其他位存放该数的二进制的绝对值。

若以带符号位的四位二进值数为例

1010:
   最高位为‘1’,表示这是一个负数,其他三位为‘010’,
   即(0*2^2)+(1*2^1)+(0*2^0)=2
   所以1010表示十进制数(-2)

下图给出部分正负数数的二进制原码表示法:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值