一大波黑色C语言·
来源:互联网 发布:linux 如何进入grub 编辑:程序博客网 时间:2024/04/30 05:12
一、原反补码
- 原码:
原码就是符号位加上真值的绝对值, 即用第一位表示符号(正负,负数为1,正数为0), 其余位表示值.原码是人脑最容易理解和计算的表示方式. - 反码:
正数的反码是其本身负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. - 补码:
正数的补码就是其本身负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
注意:*正数的原反补码都是自身**
出现过程:
原码是人脑能直接识别并用于计算的表示方式,我们在计算数据的时候回根据符号位去计算数据(符号位不计入计算),但是计算机进行加减乘除基本运算的时候,如果要去辨别符号位的话就变得很复杂了,而这个时候人们就想出了将符号位也参与运算,这个时候就吹出现了反码。我们知道a-b = a+(-b)这个时候就将减法改变成加法来运算,从而减少了计算机去辨别负数的符号位,解决了减法的问题,但是出现了问题—–>0 我们计算得到结果的时候首位仍为符号位,如果该数为0的话 反码中会出现 +0 -0的区别,但是我们都知道0带符号是没有意义的,这个时候就出现了补码。计算机中数据就是以补码形式存在的。
二、隐式转化
隐式类型转换分三种,即算术转换、赋值转换和输出转换。
1. 算数转换:算术运算(加、减、乘、除、取余以及符号运算)时,不同类型数招必须转换成同 一类型的数据才能运算,算术转换原则为:对于所有比int小的类型,包括char, signed char, unsigned char, short, unsigned short,首先会提升为int类型。在进行运算时,以表达式中最长类型为主,将其他类型位据均转换成该类型,int long float double
2. 赋值转换:进行赋值操作时,赋值运算符右边的数据类型必须转换成赋值号左边的类型,若右边的数据类型的长度大于左边,则要进行截断或舍入操作。
3. 输出转换: 在程序中将数据用printf函数以指定格式输出时,当要输出的盐据类型与输出格式不符时,便自动进行类型转换,如一个long型数据用整型格式(%d)输出时,则相当于将long型转换成整型(int)数据输出;一个字符(char)型数据用整型格式输出时,相当于将char型转 换成int型输出。注意:较长型数据转换成短型数据输出时,其值不能超出短型数据允许的值范围,否则 转换时将出错。
三、计算机系统
1. 32位操作系统
char :1个字节(固定)
(即指针变量): 4个字节(32位机的寻址空间是4个字节。同理64位编译器)(变化)
short int : 2个字节(固定)
int: 4个字节(固定)
unsigned int : 4个字节(固定)
float: 4个字节(固定)
double: 8个字节(固定)
long: 4个字节
unsigned long: 4个字节(变化*,其实就是寻址控件的地址长度数值)
long long: 8个字节(固定)
2. 64位操作系统
char :1个字节(固定)
*(即指针变量): 8个字节
short int : 2个字节(固定)
int: 4个字节(固定)
unsigned int : 4个字节(固定)
float: 4个字节(固定)
double: 8个字节(固定)
long: 8个字节
unsigned long: 8个字节(变化*其实就是寻址控件的地址长度数值)
long long: 8个字节(固定)
其他
#pragma
是设定编译器的状态或者是指示编译器完成一些特定的动作。
#define
是预编译指令
sizeof()
是运算符。
- 一大波黑色C语言·
- 黑色C语言-----位域
- SuperMap iServer 8C(2017),一大波新特性来袭
- 一大波水仙花来袭! ! !
- 一大波任务即将靠近
- C++面试题一大波
- 一大波考试即将到来
- 一大波Android技术干货
- 一大波智力题正在靠近~
- 一大波Android技术干货!
- 一大波代码------>自定义圆
- 一大波八核智能手机即将到来
- 一大波待整理的思绪
- 一大波Material Design干货来袭
- 一大波64位手机处理器来袭
- 关注极客头条微信,每天一大波干货
- 一大波下拉菜单, 气泡聊天来袭
- HDU 1236 排名(一大波输入)
- CSS3变形效果transform
- 用数组实现堆栈顺序存储
- Java多线程死锁与资源限制详解
- Spring 调用 RESTful 服务
- 数据库的完整性约束
- 一大波黑色C语言·
- Mac上sshd服务启用
- 【单词】常见单词含义的辨异(emulator/simulator、hardware/firmware)
- 小米MIUI优化weblog
- 一个web应用的诞生(7)
- (Codeforces Round #413, rated, Div. 1 + Div. 2)(A+B)
- 我们是怎样一步步地走向平庸的
- 一个web应用的诞生(6)
- redis五大数据类型的基本操作