1. 计算机需要处理数据

2.数据需要保存在存储器上

3. 计算机只能识别0或者1的二进制数据

4.我们看到的,用到的所有数据在计算机中都是以二进制存储的

5.内存中的相同的01二进制数据,以不同的编码,可以有不同的展现形式

6. 十进制整数与二进制、八进制、十六进制相互转换

十进制转其他进制,取余法

二进制转八进制,每三位二进制转换为一位八进制

二进制转十六进制,每四位二进制转为一位十六进制

7. 原码、反码和补码的表示形式

在计算机中,数值以补码的形式存储的

正数的原码、反码、补码都一样,

负数的原码,最高位是符号位,其他位是数据位

负数的反码,符号位不变,其他位依次取反

负数的补码,是反码加1

8. 变量的定义

定义一个变量,需要告诉计算机,该变量的类型、变量名,可以同时告诉计算机该变量的初始值是多少。

变量的类型,决定了变量的存储方式,变量的长度(变量的取值范围),变量所能进行的操作

无符号整数,最高位就是数值位,

有符号整数,最高位就是符号位,

变量名来标识这块存储空间,用户通过变量名来访问这个变量

给变量赋值,实际上就是把这个值放到变量名所标识的存储空间中

int  a = 5;

9.整型变量

short / int / long / long long这几种类型,这是有符号的类型

可以用unsigned来修饰这几种类型,变成无符号的数据类型,即第一位是数值位,而不是符号位

short  -32768~32767

unsigned short     0~65535

需要特别注意的是,在计算机中,不看你怎么存,只看你怎么读,如:

unsigned short  b1 ; //系统会在内存中给b1变量开辟两个字节的存储空间

b1 = -10;  //把-10存储到b1 这块存储空间中

// -10补码 , 原码:1000 0000 0000 1010

//  反码:1111 1111 1111 0101

//  补码:1111 1111 1111 0110

所以,在b1变量中存储的 内容 就是 1111 1111 1111 0110

//在计算机中,不看你怎么存,只看你怎么读

因为,b1的数据类型是unsigned short, 如果把b1中的内容按%d的形式输出的话,原来最高位1就不再是符号位,而是数值位了,所以把1111 1111 1111 0110转换为十进制数就是 65526

printf("%d\n", b1); // 65526

printf("%x\n", b1);

short b2 = b1; //如果定义一个有符号的变量b2,把b1变量中的值,即 1111 1111 1111 0110赋值给b2后, 这一串二进制的最高位1,又变成符号位了,表示负数, 1111 1111 1111 0110的补码转换为十进制就是-10

printf("%d\n", b2); //-10

C语言中的变量的更多相关文章

  1. C语言中计算变量占用内存空间

    C语言中计算变量占用内存空间 在C语言中通常用[sizeof]运算符计算变量占内存空间,如下面的例子:

  2. C 语言中的变量为什么不能以数字打头

    C 语言中的变量为什么不能以数字打头? C 语言中的变量为什么不能以数字打头? 不要告诉我编译原理书上有.我暂时看不懂. 除了下面的解释外, “假如变量名允许以数字开头的话,那么语法分析器在解析一个全 ...

  3. C语言中不同变量的访问方式

    C语言中的变量大致可以分为全局变量,局部变量,堆变量和静态局部变量,这些不同的变量存储在不同的位置,有不同的生命周期.一般程序将内存分为数据段.代码段.栈段.堆段,这几类变量存储在不同的段中,造成了它 ...

  4. Go语言入门(二)Go语言中的变量、常量、数据类型、流程控制以及函数

    Go语言中的变量 通常用var关键声明变量,有常规方式和简化方式. 常规方式: var name1 type1 name1 = value1 //赋值 简化方式: var name2 = value1 ...

  5. Go语言中的变量

    1 概述 变量(Variable)是程序运行过程中,内容可以变化(修改)的量,变量的功能是存储用户的数据,是计算机语言中能储存计算结果或能表示值抽象概念.变量,是通过变量的标识符定位值的过程.变量的内 ...

  6. go语言中在变量后加上接口是什么意思?

    如题刚刚开始学习go 语言有些不懂: a.Data = make(map[string]interface{}) 我认为它是在申请a.Data map为字符串类型的空间,那么它后面接一个空的inter ...

  7. 【R语言入门】R语言中的变量与基本数据类型

    说明 在前一篇中,我们介绍了 R 语言和 R Studio 的安装,并简单的介绍了一个示例,接下来让我们由浅入深的学习 R 语言的相关知识. 本篇将主要介绍 R 语言的基本操作.变量和几种基本数据类型 ...

  8. 浅析c语言中的变量(局部变量,外部变量,静态变量,寄存器变量)[转]

    c语言中变量分为四类,分别是 1.auto   自动变量 2.static   静态存贮分配变量(又分为内部静态和外部静态) 3.extern  全程变量(用于外部变量说明) 4.register   ...

  9. 你知道嵌入式C语言中各变量存储的位置吗?

    局部变量.局部静态变量.全局变量.全局静态变量区别如下: 局部变量: 栈区: 局部静态变量:静态区: 全局变量: 静态区的常量区: 全局静态变量:静态区. 在进行C/C++编程时,需要程序员对内存的了 ...

  10. dart系列之:dart语言中的变量

    目录 简介 dart中的变量 定义变量 变量的默认值 Late变量 常量 总结 简介 flutter是google在2015年dart开发者峰会上推出的一种开源的移动UI构建框架,使用flutter可 ...

随机推荐

  1. PyQt写的五子棋

    技术路线 GUI的实现 使用PyQt技术作为基础.PyQt是一个支持多平台的客户端开发SDK,使用它实现的客户端可以运行在目前几乎所有主流平台之上. 使用PyQt,Qt设计器实现UI,通过pyuic4 ...

  2. 【SQL】SQL2012离线帮助文档安装不上的处理手记

    注:解决方法在最后,心急的童鞋可以直接往下滚动. 我SQL实例装的是2008 R2版,由于该版自带的SSMS(Microsoft SQL Server Management Studio 管理工具)存 ...

  3. MVC中几种常用ActionResult

    一.定义 MVC中ActionResult是Action的返回结果.ActionResult 有多个派生类,每个子类功能均不同,并不是所有的子类都需要返回视图View,有些直接返回流,有些返回字符串等 ...

  4. MyEclipse10启动Tomcat8出错

    问题一: java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap : (Unsupported ma ...

  5. pymssql examples

    http://pymssql.org/en/latest/pymssql_examples.html Example scripts using pymssql module. Basic featu ...

  6. 让 ListView 在 Android 可回弹

    说明:让 ListView 在 Android 可回弹. 适用:Delphi XE5 修改:找出 FMX.Platform.Android.pas 档案,并复制到自己的 Project 路径里,找到 ...

  7. 解决 com.sun.*包导入错误

    解决 com.sun.*包导入错误 com.sun.image.codec.jpeg.*导入错误如何解决: com.sun.*是受限制访问的API,Eclipse 默认把受访问限制的API设成了ERR ...

  8. springmvc(2)Controller源码简单解析

    前面简单的分析了一下DispatcherServlet,接下来分析一下Controller,在web的MVC中,Controller就是其中的C,启动的一些页面逻辑处理,页面映射的功能: 首先看看超类 ...

  9. [moka同学笔记]Yii2 自定义class、自定义全局函数(摘录)

    1.在app\components下新建MyComponent.PHP namespace app\components; use Yii; use yii\base\Component; use y ...

  10. python 三级菜单

    三级列表: menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, ...