美文网首页
C 数值的存储

C 数值的存储

作者: 大白龙 | 来源:发表于2020-05-24 19:18 被阅读0次

在计算机系统中,数值一律用补码来存储。

主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
补码与原码的转换过程几乎是相同的。

数值的补码表示也分两种情况:

(1)正数的补码:与原码相同。

例如,+9的补码是00001001。

(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。

例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,所以-7的补码是11111001。

已知一个数的补码,求原码的操作分两种情况:

(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。

例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为 “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。

相关文章

  • C 数值的存储

    在计算机系统中,数值一律用补码来存储。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处...

  • R语言——向量、矩阵、数组

    向量 向量是用于存储数值型、字符型或逻辑型数据的一维数组。执行组合功能的函数c()可用来创建向量。 其中,a是数值...

  • [redis 源码走读] 整数集合(inset)

    整数集合 整数集合,是一个有序的数值数组对象,存储的数值不允许重复。源码在 intset.c 数据结构 根据插入数...

  • 《R语言实战》学习笔记 -- 第二章 数据结构

    数据类型 向量 创建 向量(vector)是用于存储数值型、字符型或逻辑型数据的一维数组。执行组合功能的函数 c(...

  • C语言-文件操作

    C语言文件 C语言文件有两种类型:文本文件(也称ASCII码文件)和二进制文件。其差别在于存储数值型数据的方式不同...

  • iOS的内存管理

    一、引用计数值存储位置 OC对象的引用计数值存储在对象的isa指针中,isa的结构如下: 如果has_sideta...

  • R语言学习1

    一、学习笔记 1.向量 向量是用于存储数值型、字符型或逻辑型数据的一维数组。执行组合功能的函数 c() 可用来创建...

  • Python学习笔记(三)数据类型--Number类型

    Number类型 数值类型,通常用于存储数值,是最常用的变量类型;Python中的数值类型包括如下种类:Integ...

  • 第五周随笔--SharePreferences与文件管理

    SharePreferences 用于存储简单的数值; 主要操作流程 **SharedPreferences()的...

  • C内存和一级指针

    1.理解内存需要从三个方面 a.内存空间的地址 b.内存空间的大小 c.内存空间所存储的数值 举例: int a ...

网友评论

      本文标题:C 数值的存储

      本文链接:https://www.haomeiwen.com/subject/rkwqahtx.html