数据的储存

整形在内存中的存储方式是以二进制补码的方式存储

原码 直接将二进制按照正负数的形式翻译成二进制就可以。

反码 将原码的符号位不变,其他位依次按位取反就可以得到了。

补码  反码+1就得到补码。 

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	char a = -1;
	signed char b = -1;
	unsigned char c = -1;
	printf("%d %d %d", a, b, c);
	return 0;
}

 有符号数是一半正一半负,而无符号数是全正

unsigned char 可存储数据的范围: 0 ~ 255

char(signed char)可存储数据的范围:-128 ~ 127

大端,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中。

小端,是指数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。

比如说,16进制的11223344在大端的储存中是44332211,而在小端中还是11223344.

浮点数的存储

存储规则:
任意一个二进制浮点数V,都可以被保存为以下形式:
( -1 )^S  *  M  *  2^E
一、(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。
二、M表示有效数字,大于等于1,小于2。写成1.xxxxxxx形式
三、2^E表示指数位。
float32位的第一个bit位是符号位再八bit位是指数位后23位是有效数字

double64位的第一个bit位是符号位再11位是指数位后52位是有效数字

当指数位的数是全1时数为无穷大,为全0时就为无穷小接近0

1,0都有是正常的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值