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. PhotoKit框架介绍及使用

    PhotoKit 是一套比 AssetsLibrary 更新更完整也更高效的ios照片处理库,对资源的处理跟 AssetsLibrary 有很大的不同.下面简单介绍下PhotoKit的几个基本概念 P ...

  2. 【Swift学习】Swift编程之旅(三)

    元组(tuples) tuples是将多个单一的值组合为一个复合的值.它可以包含任何类型的值,而不需要都是相同类型. 一.元组的创建 1. let http404error = (,"NOT ...

  3. dp or 贪心 --- hdu : Road Trip

    Road Trip Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 29 ...

  4. 基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度

    在默认情况下,EasyUI的DataGrid好像都没有具备自动宽度的适应功能,一般是指定像素宽度的,但是使用的人员计算机的屏幕分辨率可能不一样,因此导致有些地方显示太大或者太小,总是不能达到好的预期效 ...

  5. 基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder

    Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEditor的配置和使用.CKEditor的前身是FCKEdito ...

  6. c#中高效的excel导入sqlserver的方法

    将oledb读取的excel数据快速插入的sqlserver中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.S ...

  7. .NET使用ZXing.NET生成中间带图片的二维码

    很久之前就有写这样的代码了,只是一直没记录下来,偶然想写成博客. 把之前的代码封装成函数,以方便理解以及调用. 基于开源的 ZXing.NET 组件,代码如下: 先添加对ZXing.NET的引用,然后 ...

  8. 【Java每日一题】20161208

    package Dec2016; import java.util.List; public class Ques1208 { public static void add(List<? ext ...

  9. 利用navigator对象在浏览器中检查插件

    利用navigator对象在浏览器中检查插件,实现的代码如下. // IE4+.firefox.chrome.safari.opera中,利用navigator检测插件 ,name为插件的名字 fun ...

  10. [转]CSS编码规范

    单行形式书写风格的排版约束 1.      每一条规则的大括号 { 前后加空格 2.      多个selector共用一个样式集,则多个selector必须写成多行形式 3.      每一条规则结 ...