#define _CRT_SECURE_NO_WARNINGS 1 
//Debug和release版本区别(VS2019版)
//例子
#include<stdio.h>
//int main()
//{
//    int i = 0;
//    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//    for (i = 1; i <= 12; i++)
//    {
//        arr[i] = 0;
//        printf("呵呵\n");
//        //Debug版本
//        //打印结果可能会变为呵呵,无限循环,
//        //因为i和arr是局部变量,局部变量都放在栈区中,栈区的使用习惯是:(i)先使用高地址,(arr[10])再使用低地址,
//        //数组随着下标的增长,地址是由低到高变化的,
//        //每使用一次,i++,但总有一次arr[i]的使用,(此时假设i=1120)越界访问i的地址,使之变为0,重新进入循环
//        //Release版本
//        //打印结果为10个呵呵,因为Release会自动进行优化,优化后,默认将i的地址放在arr[]之后
//        //不会成为死循环,但有可能改变代码的结果
//    }
//    return 0;
//}

//例子2
//#include<stdio.h>
//int main()
//{
//    int i = 0;
//    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
//    printf("%p\n",&i);
//    printf("%p\n", &arr[9]);
//    printf("%p\n", &arr[0]);
//    //Debug版本
//    //打印结果为000000A3CD77F8EF和000000A3CD77F8DC和000000A3CD77F8B8
//    //因为局部变量i arr[]放栈区中,栈区是从高地址到低地址创建,所以i的地址>arr[],又因为arr[]内地址从低到高,所以arr[0]>arr[9]
//    //所以i>arr[9]>arr[0]
//    //Release版本
//    //打印结果为000000A3CD77F894和000000A3CD77F8DC和000000A3CD77F8B8,此时arr[9]>arr[0]>i
//    return 0;
//}

//类型意义:类型觉得内存空间大小          内存的类型(正负数,整形,浮点型....)
//整形包括char---字符数据类型 short---短整型 int---整形  long---长整型   long long---更长的整形  
//char包括unsigned char和signed char等等....
//浮点型包括:float-- - 单精度浮点型  double-- - 双精度浮点型
//构造类型:自定义类型(数组,struct类型)如int arr[10]的结构类型为int[10]         int arr[5]的结构类型为int[5]  
//枚举  enmu
//联合体 union
//指针类型
//空类型 void-----函数的返回类型,函数参数,指针

//#include<stdio.h>
//int main()
//{
//    int a = -10;//此处按F10查看调试--窗口--内存
//    //-10的二进制
//    //10000000000000000000000000001010(原码)
//    //11111111111111111111111111110101(反码)---符号位不变,其他位按位取反
//    //11111111111111111111111111110110(补码)--反码+1
//    //F   F   F   F   F   F   F  6(十六进制)------------整数在内存中存储的是二进制的补码
//    return 0;
//}

//数据在内存中以2进制的形式存储,对于整数来说,整数的二进制有三种表现形式:原码反码补码
//正整数的原码反码补码相同
//负整数的原码反码补码需要计算
//整数在内存中存储的是二进制的补码,,,,,为什么只能是补码呢?原码不行吗?
//原因1:假如存储的为原码
//00000000000000000000000000000001(1的原码)
//10000000000000000000000000000001(-1的原码)
//10000000000000000000000000000010(1+(-1),转化为二进制为-2,不正确),所以存储的不应该为原码
//原因2:使用补码,可以将符合位和数值域统一处理,,,加法减法可同时处理(CUP只有加法器)
//ps:补码变为原码:       方法一:-1,取反          方法二:(同原码变补码)先取反,再+1

Debug和release版本区别 原码反码补码的转换及存储相关推荐

  1. 【濡白的C语言】数据的存储(大小端模式,原码反码补码,浮点数的存储,浮点型精度缺失的原因)

    前言 很多学习C语言之后就会对各种类型感到很烦,但是数据的类型具有相当的意义.首先是类型决定了大小,即该数据在内存中开辟的空间大小:同时不同的类型还决定了数据存储的方式,相同的数据,存入整形与浮点型方 ...

  2. 【实验作业】微处理器原理与应用 CPUHomework2.1【二进制 原码 反码 补码 数制转换 典型例题】

    一.选择题 1.一个四位二进制补码的表示范围是(B) A.0-15 B.-8-7 C.-7-7 D.-7-8 2.十进制数- 48 用补码表示为(B) A.10110000 B.11010000 C. ...

  3. 原码 反码 补码的相互转换

    原码 反码 补码的相互转换 原码 反码 补码的转换 还是比较 简单基础的问题.之前学习java的时候就学过,后来忘记了,忘记了!!!,后来学了位移运算符,左移 右移 无符号右移 之后就由有点儿懵了. ...

  4. 关于计算机中 原码, 反码, 补码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  5. 原码 反码 补码 详解

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式,  叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放 ...

  6. 原码 反码 补码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  7. 原码, 反码, 补码详解——北大陈向群老师课堂笔记

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放符 ...

  8. 原码, 反码, 补码 详解

    本文转载于: 作者:张子秋 出处:http://www.cnblogs.com/zhangziqiu/ 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进 ...

  9. 计算机组成原理——基本组成 进制转化 奇偶校验 原码 反码 补码 移码 移位 原码补码乘法除法 IEEE754 加法器ALU

    笔记来源于王道考研视频 第一章 通过电信号传递信息(低电平代表0,高电平代表1) 计算机系统 计算机系统=硬件+软件 软件 系统软件 应用软件 操作系统,数据库管理系统(DBMS),标准程序库(编程时 ...

最新文章

  1. PointASNL: 点云的Adaptive Sampling(CVPR2020)
  2. 二、StreamAPI
  3. 如何编写高效android代码
  4. MYSQL笔记:删除操作Delete、Truncate、Drop用法比较
  5. 【转载保存】Selenium Webdriver元素定位的八种常用方式
  6. Effective Objective-C 2.0 — 第二条:类的头文件中尽量少引入其他头文件
  7. python中全部注释_python中的所有对象(学习注释1),Python,一切,皆,笔记
  8. php的变量引用与销毁机制
  9. opencv 指定分辨率_使用opencv拉伸图像扩大分辨率示例
  10. 中鸣机器人走黑线_乐高机器人三光感走黑线
  11. Linux 内存管理:DAX(Direct Access)机制的作用及实现原理
  12. 厦门大学计算机考研复试线2021,2021浙江大学、中科大、厦门大学考研复试分数线公布!...
  13. 大学四年生活总结_2020校园寝室生活必备好物推荐,大学四年,留下点回忆,好不啦...
  14. 十一黄金周旅游线路排行榜(图文)
  15. 高德地图定位 地图比例缩放
  16. 何为非侵入式负荷识别-事件检测
  17. 网格搜索(调参)与数据预处理
  18. 数组排序(5) 快速排序之三指针分区法
  19. SF笔试编程1:幸运数
  20. 广州推出全国首个交通运输视频智能化综合分析平台

热门文章

  1. Error response from daemon: unable to find user ubuntu: no matching entries in passwd file
  2. Java 操作SSH2实现远程执行linux命令
  3. 〖ChatGPT实践指南 - 零基础扫盲篇⑤〗- OpenAI API 演示 Demo 之宠物名字生成器
  4. Python实现去除图片中的数字水印
  5. jQuery 加入购物车 弹窗
  6. UINavigationController导航控制器详解
  7. matlab元胞数组的创建和显示
  8. vue的PC端和移动端分辨率适配
  9. Long与Integer之间的转换产生的问题
  10. python中占位符的使用