对原码、反码、补码、大小端存储的一些了解

提示:文章写完后,可以自动生成目录。生成方法请参考右侧帮助文档

文章目录

  • 前言
  • 1.原始代码
  • 二、反码
  • 三、补码
  • 四、浮点数的存储
  • 5.大小存储
  • 总结

前言

随着c语言的进一步学习,我们会了解到数据在计算机是如何存放的,本文就是自己对它的一些看法。

例如,随着人工智能的不断发展,机器学习技术变得越来越重要。许多人已经开始学习机器学习。本文介绍机器学习的基本内容。

提示:以下是本篇文章正文内容,下面案例可供参考

1.原始代码

原码是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。

对原码、反码、补码、大小端存储的一些了解

二、反码

反码是由原码符号位不变,其余位数取反(‘0’变为‘1’,‘1’变为‘0’)。

对原码、反码、补码、大小端存储的一些了解

三、补码

在计算机中一般用补码来存储数据。正整数的补码是原码本身,而负数的补码是由反码+1。

对原码、反码、补码、大小端存储的一些了解

4.访问浮点数

浮点数分为1个符号位、8个指数位,其余为尾数位。

表示为:符号位(尾数位*2^指数位)

对原码、反码、补码、大小端存储的一些了解

5.大小存储

当计算机存储数据时,由于不同的编译器,它存储和使用不同的模式。

1.大端存储

大端存储是指高位放在低位,低位放在高位。

定义一个变量i等于1;int i = 1;则在大端存储中的排序为:

对原码、反码、补码、大小端存储的一些了解

2.小端存储

小端存储是指高位放在低位,低位放在高位;

定义一个变量i为0;int i = 1;则在小端存储的方式为:

对原码、反码、补码、大小端存储的一些了解

3.大小端的判断

可以强制转换类型来判断,int i = 1;如果输出的是1的话则为小端,若输出为0的话就是大端。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	int i = 1;
	char j = (char) i;
	printf("%d", j);
	return 0;
}

也可以使用移位操作符来判断,若输出0则为小端,否则为大端

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int main()
{
	int i = 1;
	int j = 0;
	j = i >> 1;
	printf("%d", j);
	return 0;
}

总结

正数的原码,反码,补码全相同,负数的反码由原码转换来(符号位不变,其余位取反),补码为反码+1。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年4月1日 上午10:36
下一篇 2022年4月1日 上午10:53

相关推荐