c语言中的数据类型(待完善)
内容概要
一、整形与浮点型(原码补码反码)
二、字符类型和“字符串类型”
三、常量
1、整形与浮点型
-整形
2字节
short(signed short int)
范围 -2**15到2**15-1
unsigned short int
4字节
范围 0到2**16-1
int(signed int)
范围 -2**31到2**31-1
unsigned int
范围 0到2**32-1
8字节
long
记不住
long long
记不住
ps:1、字符类型char也可以存储整形,存储范围为
char(signed char)-2**7到2**7-1
unsigned char 0到2**8-1
2、unsigned将数据类型转化为无符号类型,如果没有默认为有符号类型
-有符号类型在存储数据时,比如char(占1字节存储空间),会将8为比特位中最前一位表示数字的正负,0表示整数,1表示负数
7的二进制表示形式 0 0000111
-7的二进制表示形式 1 0000111
-所以真正存储数字范围的只有7个比特位,范围则在2**7左右
反码和补码只有负数有;正数反码,补码和源码一样
计算机只会做加法,计算机存储的数据都是以补码形式存储的;当使用到数据时,会将补码反解为源码
-源码,最初的二进制形式
char类型的7的源码表示形式 0 0000111
char类型-7的源码表示形式 1 0000111
-补码,补码的提出是为了实现计算进行减法运算(通过变化负数源码的值,来实现通过加法得到和减法一样的运算结果)
补码就是在反码的基础上加1
char类型的7的补码表示形式 0 0000111
char类型的-7的补码表示形式 1 1111001
-反码,可以理解为负数源码转换为补码的中间产物
反码就是将所有非表示符号的比特位进行0和1的调换
char类型的7的反码表示形式 0 0000111
char类型的-7的反码表示形式 1 1111000
计算机计算8 - 7实现过程
8的补码 0 0001000
-7源码 0 0000111
-7反码 1 1111000
-7补码 1 1111001
8 - 7 => 0 0001000 + 1 1111001 = 000000001(得到的结果为补码)=> 反解为源码 000000001

***待完善***
本文来自博客园,作者:口乞厂几,转载请注明原文链接:https://www.cnblogs.com/laijianwei/p/14482264.html

浙公网安备 33010602011771号