Java教程

【学习打卡】第2天 原码、反码、补码的存储

本文主要是介绍【学习打卡】第2天 原码、反码、补码的存储,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程名称:物联网/嵌入式工程师
课程章节:原码、反码、补码的存储
主讲老师:大白

内容概述:

计算机的编码形式,用原码、反码、补码来表示数据。

学习心得:

在内存中的数据使用补码来存储。
规则:
A. 数据就在内存中总是以二进制补码的形式存放。最高位为符号位。正数为0,负数为1 (不完全)
B. 正数的原码、反码、补码就是它本身。原码该数转换位二进制的形式
C. 负数的反码 :符号位不变,对原码其它位依次取反。0变1,1变0
负数的补码 :符号位不变,反码 + 1

补码转源码的方法:
方法1: 原码 = 补码 - 1 ,然后符号位不变,按位取反
方法2:对补码再求补码可得原码。【推荐】

-10  补码:1111 0110
     取反:1000 1001
     +1:  1000 1010

课后练习:
练习一:假设数据按8bit存储,自己写出-30 的原码、反码、补码形式。

-30: 1001 1110
反码:1110 0001
补码:1110 0010

练习二:有⼀个负数,其补码为1011 0011 ,计算它的原码

1011 0011 -> 1100 1100 -> 1100 1101 -> -77

课程截图:

图片描述

这篇关于【学习打卡】第2天 原码、反码、补码的存储的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!